Как устроен цикл событий (event loop) и как он выполняет асинхронный код? механизм организации асинхронности в JavaScript и средах его выполнения функционирует до тех пор, пока в очереди остаются задачи работает со…
появились в ES6 и используют синтаксис function* вместе с yield это итератор, выполнение которого можно приостанавливать и возобновлять метод .next() возвращает объект вида {value, done} yield передаёт наружу…
Методологии организации проекта: FSD и Atomic Design FSD (Feature-Sliced Design) — структурирование по функциям и фичам Atomic Design — компонентная организация пользовательского интерфейса FSD делит проект на слои:…
Promise — объект JavaScript, описывающий результат асинхронной операции. Основные методы экземпляра: then(onFulfilled, onRejected) — назначает обработчики успешного или ошибочного завершения и возвращает новый…
Hoisting — механизм поднятия объявлений в JS Полностью всплывают Function Declarations Имя функции и её тело становятся доступными заранее У Function Expressions с var поднимается только имя переменной, а её значение…
Какие проблемы решили промисы и какие состояния они имеют? Асинхронное выполнение в JS Промисы устранили callback-hell и упростили управление асинхронными операциями Описывают результат операции, которая завершится…
Какие состояния может принимать промис в JavaScript? асинхронный JavaScript 3 основных состояния: pending — операция еще выполняется fulfilled — операция завершена успешно, результат получен rejected — операция…
Варианты объявления переменных в JavaScript var: функциональная область видимости; повторное объявление разрешено let: блочная область видимости; повторно объявить в той же области нельзя const: константа; требует…
Объект — одна из фундаментальных структур данных в JS Литерал объекта: {} — наиболее простой вариант Конструктор Object: new Object() — стандартный способ, который применяется нечасто Функция-конструктор: function…
Статические методы для работы с промисами Promise — встроенный конструктор JavaScript Promise.all(iterable) — ожидает завершения всех промисов и отклоняется при первой ошибке Promise.race(iterable) — возвращает первый…
к примитивам относятся Number, String, Boolean, Symbol, BigInt, Undefined, Null объект — составной тип для коллекций и структур данных функция является объектом первого класса оператор typeof различает примитивы и…
Основные способы копирования объектов Поверхностное копирование (shallow copy) — создаёт копию только верхнего уровня, поэтому вложенные объекты продолжают ссылаться на исходные Глубокое копирование (deep copy) —…