Comments 10
Тротлинг через таймаут - сомнительно. Он не будет работать в тяжёлых задачах.
Про ивентлуп конечно ересь понаписали. Он есть в браузере, есть в ноде, но не в самом js.
set: function(target, property, value) {
if (property === 'age' && value < 0) {
console.error('Age cannot be negative');
} else {
target[property] = value;
}
}
А вот что про метод set у прокси говорит дока: The set()
method must return a Boolean
indicating whether or not the assignment succeeded. Many operations, including using property accessors in strict mode, throw a TypeError
if the [[Set]]
internal method returns false
Хорошая статья.
Конечно некоторые фишки js воспринимаю за баги. Тоже замыкание, как по мне больше похоже на баг и со сложным кодом, не представляю, как это дебажить и тем-более покрывать тестами.
Если нужно хранить состояние, лучше класс или объект создам, так будет понятнее, как по мне.
Но опять же замыкание это особенность js и знать о ней минимум стоит.
О! Кеширование. Только недавно была статья про слабые ссылки. А здесь у нас всё сохраняется в резиновый Map.
Лучше бы вы разнообразили статью чем-нибудь современным и полезным.
Замыкание - худшее, что можно делать. Это делает код похожим на чёрный ящик.
Самый главный продвинутый приём JavaScript - это TypeScript
Похоже на очередную статью нейросети
Примеры банальны и не раскрывают тем
Да и темы тоже заезжены, они в каждом подобном гайде
А что случилось с let? В какой момент все перешли на const и, главное, зачем? Я что-то пропустил?
Я бы дополнил второй пункт и вот таким кодом:
const { name: myName, age: myAge } = person;
console.log(myName); // 'Alice'
console.log(myAge); // 30
7 продвинутых приёмов JavaScript, которые должен знать каждый разработчик