Справочник JavaScript
Основы языка и работа со страницей: данные, функции, DOM, события, формы, асинхронные запросы и локальные настройки. Примеры для самостоятельной проверки.
Set: уникальные значения и проверка наличия
Set хранит уникальные значения и подходит для набора выбранных идентификаторов или уже встречавшихся примитивов.
Map: коллекция ключей и значений
Map хранит пары ключей и значений, позволяя использовать ключами не только строки, но и другие значения JavaScript.
Object.hasOwn(): собственное свойство без ловушки прототипа
Object.hasOwn проверяет наличие собственного свойства объекта, не включая унаследованные свойства.
Object.freeze(): поверхностная неизменяемость объекта
Object.freeze запрещает обычные изменения собственных свойств объекта и расширение его новым набором свойств.
Необязательная цепочка: безопасное чтение отсутствующего уровня
Оператор ?.
Оператор ?? : запасное значение только для null и undefined
Оператор нулевого слияния ?? выбирает запасное значение только тогда, когда левый операнд равен null или undefined.
Логические присваивания: условное обновление переменной
Операторы ??=, ||= и &&= присваивают правую часть только при выполнении соответствующего условия для левой.
Остаточные параметры: аргументы функции в массиве
Остаточный параметр собирает оставшиеся аргументы вызова в обычный массив.
Параметры по умолчанию и явное undefined
Параметр по умолчанию получает запасное значение, если аргумент пропущен или явно равен undefined.
Замыкание: функция сохраняет доступ к области видимости
Замыкание позволяет функции обращаться к переменным внешней лексической области после завершения внешнего вызова.
Стрелочная функция: краткая запись и лексический this
Стрелочная функция удобна для коротких преобразований и использует this из окружающей области вместо собственного контекста вызова.
this: контекст обычного вызова метода
Значение this у обычной функции зависит от способа вызова, а не просто от места её объявления.
Function.bind(): сохранение контекста и части аргументов
Метод bind возвращает новую функцию с закреплённым this и, при необходимости, начальными аргументами.
call и apply: явный контекст разового вызова
Методы call и apply вызывают функцию сразу, передавая заданный this и аргументы.
try, catch и finally: обработка ошибки и завершающее действие
Конструкция try/catch позволяет обработать исключение, а finally выполняет завершающий код при выходе из соответствующего блока.
Явная ошибка: проверка предусловия функции
Оператор throw прекращает обычное выполнение и передаёт исключение ближайшему подходящему обработчику.
async и await: последовательное чтение асинхронного кода
async-функция возвращает Promise, а await приостанавливает её продолжение до получения результата ожидаемого значения.
Promise.all(): совместное ожидание всех результатов
Promise.all создаёт обещание, которое успешно завершается после успешного завершения всех переданных операций.
Promise.allSettled(): результаты успехов и ошибок вместе
Promise.allSettled ожидает завершения всех переданных обещаний и описывает исход каждого элемента.
Promise.race(): первый завершившийся исход
Promise.race принимает состояние первого завершившегося участника — успешное или ошибочное.
Promise.any(): первый успешный результат
Promise.any завершается первым успешным результатом, пропуская отдельные отклонения до появления успеха.
RegExp.test(): логическая проверка шаблона
Метод test отвечает, найдено ли совпадение регулярного выражения в строке.
String.matchAll(): все совпадения с группами
Метод matchAll возвращает итератор совпадений, сохраняя группы и позиции для каждого найденного фрагмента.
Именованные группы регулярного выражения
Именованная группа позволяет обращаться к захваченному фрагменту через понятное имя, а не только числовой индекс.
String.normalize(): одинаковый текст и разные Unicode-записи
Метод normalize приводит строку к одной из форм нормализации Unicode для согласования определённых эквивалентных последовательностей.
Intl.NumberFormat: локализованное отображение чисел
Intl.NumberFormat форматирует числа по правилам выбранной локали и параметрам отображения.
Intl.DateTimeFormat: дата в выбранном часовом поясе
Intl.DateTimeFormat отображает момент времени с учётом локали, часового пояса и выбранных частей даты.
Intl.PluralRules: выбор формы слова по числу
Intl.PluralRules определяет грамматическую категорию числа для выбранной локали.
Date.toISOString(): момент в UTC и проверка корректности
Метод toISOString представляет корректный объект Date в стандартизованной строковой форме UTC.
BigInt: целые числа за пределами безопасного Number
BigInt представляет целые числа произвольной поддерживаемой реализацией величины без обычного ограничения точности целых Number.