Proxy и Reflect
Объект — это набор свойств — эй! Только не закатывай глаза! Да, я знаю, что эта фраза уже приближается к уровню «митохондрии — электростанции клетки», но обещаю: сейчас мы подойдём к теме с новой стороны.
Объект — это набор свойств — эй! Только не закатывай глаза! Да, я знаю, что эта фраза уже приближается к уровню «митохондрии — электростанции клетки», но обещаю: сейчас мы подойдём к теме с новой стороны.
Temporal Книга рецептовПрактическая книга рецептов по JavaScript Temporal: даты, время, часовые пояса, календари и типовые операции с примерами кода.
В этой статье разберем Web Components с нуля и реализуем два полноценных компонента: my-button и my-dropdown. По пути разберем, как работают Custom Elements, Shadow DOM, передача данных через атрибуты и свойства, lifecycle callbacks и кастомные события.
ES2025 вышел в июне, TC39 только что одобрил кандидат в ES2026, и часть того, что в него входит, реально изменит то, как я пишу JavaScript каждый день.
Без обёрток. Без исключений. Только объединения типов.
Ошибки — это не что-то исключительное, а неизбежная часть кода. Вместо того чтобы бросать исключения и надеяться, что их кто-то поймает, возвращайте ошибки как значения. Делайте их частью сигнатуры типа. Пусть компилятор гарантирует, что каждая ошибка обработана.
Чтобы посмотреть, как записана любая формула в любом вопросе или ответе, включая этот, кликните правой кнопкой по выражению и выберите "Show Math As > TeX Commands". (При этом символы '$' не отображаются. Убедитесь, что вы их добавляете: см. следующий пункт. Есть и другие способы посмотреть исходный код формулы или всего поста.)
Традиционный try/catch в TypeScript часто приводит к "пирамидам смерти", скрытым ошибкам и сложностям с тестами. Рассмотрим 4 современных подхода: обёртки промисов, Result/Either, глобальные хэндлеры и комбинированный стек с Sentry.123
Я решил разобрать, как можно с помощью чистого JavaScript и стандартных браузерных API сделать простой SPA-роутер. Мы должны суметь создать компонент, который принимает конфигурацию роутера и рендерит соответствующий компонент в зависимости от текущего URL браузера.