code_notes
72 subscribers
136 photos
1 video
133 links
учусь делать веб

обратная связь: t.me/dmorenogogoleva
Download Telegram
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 reset, framework, layout, base;

запутанный момент — !important
правила, объявленные через important действуют в обратном порядке — important в слое reset будет специфичнее important в слое base
var 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
Template Literal Types
🤔4😐1
чтобы скролл не перекидывался на внешнее окно

overscroll-behavior: contain;
👍3🔥2🤯1
отсортировать по алфавиту

integrations.sort((a, b) => a.title.localeCompare(b.title));
👍2
Omit работает с объектами и удаляет указанные ключи.
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
👍21
Оператор ??= в 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
когда выводишь объект в консоль safari, он показывает тип значения иконкой 🥺
3🕊2