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

обратная связь: t.me/dmorenogogoleva
Download Telegram
нарисовала граф, сделала к нему таблицу, потом нарисовала тот же граф по таблице

граф здорового человека/граф курильщика
code_notes pinned «когда-то я готовилась к собеседованиям по вот этому списку задачек https://github.com/lydiahallie/javascript-questions/blob/master/ru-RU/README.md»
code_notes
лучшая картинка про event loop
новая лучшая картинка про event loop
1
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