Без издательства, 2021. — 756 с.
Язык JavaScript - введение в JavaScript. Первые шаги по знакомству с кодом.
Введение.
Введение в JavaScript.
Справочники и спецификации.
Редакторы кода.
Консоль разработчика.
Основы JavaScript.
Привет, мир!
Структура кода.
Строгий режим — "use strict".
Переменные.
Типы данных.
Взаимодействие: alert, prompt, confirm.
Преобразование типов.
Базовые операторы, математика.
Операторы сравнения.
Условное ветвление: if, '?'.
Логические операторы.
Оператор объединения с null '?'.
Циклы while и for.
Конструкция "switch".
Функции.
Function Expression.
Функции-стрелки, основы.
Особенности JavaScript.
Качество кода.
Отладка в браузере Chrome.
Советы по стилю кода.
Комментарии.
Ниндзя-код.
Автоматическое тестирование c использованием фреймворка Mocha.
Полифилы.
Объекты: основы.
Объекты.
Копирование объектов и ссылки.
Сборка мусора.
Методы объекта, "this".
Конструкторы, создание объектов через "new".
Опциональная цепочка '?.'.
Тип данных Symbol.
Преобразование объектов в примитивы.
Типы данных.
Методы у примитивов.
Числа.
Строки.
Массивы.
Методы массивов.
Перебираемые объекты.
Map и Set.
WeakMap и WeakSet.
Object.keys, values, entries.
Деструктурирующее присваивание.
Дата и время.
Формат JSON, метод toJSON.
Продвинутая работа с функциями.
Рекурсия и стек.
Остаточные параметры и оператор расширения.
Замыкание.
Устаревшее ключевое слово "var".
Глобальный объект.
Объект функции, NFE.
Синтаксис "new Function".
Планирование: setTimeout и setInterval.
Декораторы и переадресация вызова, call/apply.
Привязка контекста к функции.
Повторяем стрелочные функции.
Свойства объекта, их конфигурация.
Флаги и дескрипторы свойств.
Свойства - геттеры и сеттеры.
Прототипы, наследование.
Прототипное наследование.
F.prototype.
Встроенные прототипы.
Методы прототипов, объекты без свойства __proto__.
Классы.
Класс: базовый синтаксис.
Наследование классов.
Статические свойства и методы.
Приватные и защищённые методы и свойства.
Расширение встроенных классов.
Проверка класса: "instanceof".
Примеси.
Обработка ошибок.
Обработка ошибок, "try..catch".
Пользовательские ошибки, расширение Error.
Промисы, async/await.
Введение: колбэки.
Промисы.
Цепочка промисов.
Промисы: обработка ошибок.
Promise API.
Промисификация.
Микрозадачи.
Async/await.
Генераторы, продвинутая итерация.
Генераторы.
Асинхронные итераторы и генераторы.
Модули.
Модули, введение.
Экспорт и импорт.
Динамические импорты.
Разное.
Proxy и Reflect.
Eval: выполнение строки кода.
Каррирование.
Побитовые операторы.
BigInt.
Intl: интернационализация в JavaScript.