code_notes pinned «https://ru.hexlet.io/blog/posts/grokaem-algoritmy-gayd-po-algoritmam-dlya-teh-komu-slozhno-reshat-zadachi»
я отвернулась и в css добавили новую киллер-фичу
@layer
по-русски "каскадные слои"
теперь мы можем создавать свои слои вдобавок к существующим (user agent styles, user styles, author styles (те которые мы меняем))
в каскадных слоях важен порядок объявления — чем позже объявлен слой, тем он специфичнее
можно объявить все названия слоёв в начале документа чтобы не путаться
@layer
по-русски "каскадные слои"
теперь мы можем создавать свои слои вдобавок к существующим (user agent styles, user styles, author styles (те которые мы меняем))
в каскадных слоях важен порядок объявления — чем позже объявлен слой, тем он специфичнее
можно объявить все названия слоёв в начале документа чтобы не путаться
@layer reset, framework, layout, base;запутанный момент —
!important
правила, объявленные через important действуют в обратном порядке — important в слое reset будет специфичнее important в слое basevar status = '😎'
setTimeout(() => {
const status = '😍'
const data = {
status: '🥑',
getStatus() {
return this.status
}
}
console.log(data.getStatus())
console.log(data.getStatus.call(this))
}, 0)
🥑 😎
Object.seal vs Object.freeze
Object.seal
позволяет изменять существующие свойства объекта. Запрещает удалять их или добавлять новыеObject.freeze
делает объект иммутабельным и запрещает любые модификацииconst a = { name: 'a' }
const b = { name: 'b' }
Object.seal(a)
a.name = "c"
{name: 'c'}
Object.freeze(b)
b.name = 'c'
{name: 'b'}
function sum(a) {
let currentSum = a;
function f(b) {
currentSum += b;
return f;
}
f.toString = function () {
return currentSum;
};
return f;
}
alert(sum(1)(2)(3)(5));
👍3
чтобы скролл не перекидывался на внешнее окно
overscroll-behavior: contain;
👍3🔥2🤯1
отсортировать по алфавиту
integrations.sort((a, b) => a.title.localeCompare(b.title));
👍2
сегодня я узнала что
http://web.dev/articles/content-visibility
http://web.dev/articles/content-visibility
web.dev
content-visibility: the new CSS property that boosts your rendering performance | Articles | web.dev
The CSS content-visibility property enables web content rendering performance benefits by skipping rendering of off-screen content. This article shows you how to use this new CSS property for faster initial load times, using the auto keyword. You will also…
🔥1
code_notes
что же такое каскад в цсс https://web.dev/learn/css/the-cascade/
каскад в цсс часть вторая (приквел)
https://2019.wattenberger.com/blog/css-cascade
https://2019.wattenberger.com/blog/css-cascade
Omit работает с объектами и удаляет указанные ключи.
Exclude работает с объединениями типов и удаляет указанные типы.
Exclude работает с объединениями типов и удаляет указанные типы.
type Person = {
name: string;
age: number;
address: string;
};
type PersonWithoutAddress = Omit<Person, 'address'>;
// Результат: { name: string; age: number; }
type A = string | number | boolean;
type B = Exclude<A, boolean>;
// Результат: string | number
👍2❤1
Оператор
Если
В противном случае x остаётся без изменений.
??=
в JavaScript — это логический оператор присваивания nullish
(нулевого значения). Он работает так же, как x ??= y
, что означает:Если
x
равно null
или undefined
, тогда x получает значение y.В противном случае x остаётся без изменений.
let a = null;
a ??= 10;
console.log(a); // 10
let b = 5;
b ??= 20;
console.log(b); // 5 (значение не изменилось, так как b не null и не undefined)
👍3
после долгих лет страданий я сделала
жду что качество жизни взлетит до небес
git config push.autoSetupRemote true
жду что качество жизни взлетит до небес
🕊4
finally it’s time to learn basic animation rules
showing: ease-out
hiding: ease-in
showing: ease-out
hiding: ease-in