JavaScript

Основы языка, DOM, асинхронность и паттерны

1

Что такое DOM?

Начальный

Document Object Model — программный интерфейс браузера для работы с HTML-документами в виде дерева объектов.

7 мин
2

Переменные: var, let, const — отличия и когда использовать

Начальный

Разбираемся чем отличаются var, let и const в JavaScript. Область видимости, всплытие, переназначение — с примерами и частыми ошибками.

9 мин
3

Event Loop

Средний

Как JavaScript выполняет код и обрабатывает асинхронные операции через Event Loop, стек вызовов и очереди задач.

10 мин
4

Замыкания

Средний

Замыкание — функция, которая запоминает своё лексическое окружение и имеет доступ к переменным внешней области видимости.

8 мин
5

Промисы и async/await

Средний

Promise — объект для работы с асинхронными операциями. async/await — синтаксический сахар для удобной работы с промисами.

12 мин
6

Прототипы и наследование

Средний

JavaScript использует прототипное наследование — объекты наследуют свойства и методы через цепочку прототипов.

9 мин
7

Типы данных в JavaScript: примитивы, объекты, typeof и приведение типов

Начальный

Все типы данных JavaScript — string, number, boolean, null, undefined, object, symbol, bigint. Как работает typeof, неявное приведение типов и почему 1 + '1' равно '11'.

10 мин
8

Строки в JavaScript: шаблонные литералы, методы строк, Unicode

Начальный

Работа со строками в JavaScript — создание, шаблонные строки, методы (slice, split, replace, trim, includes), Unicode и частые задачи.

9 мин
9

Методы массивов в JavaScript: map, filter, reduce, find, some, every

Начальный

Полный справочник по методам массивов JavaScript — forEach, map, filter, reduce, find, findIndex, some, every, includes, sort, flat. Примеры и частые задачи.

12 мин
10

Объекты в JavaScript: деструктуризация, spread/rest, Object.keys/values/entries

Начальный

Работа с объектами в JavaScript — создание, деструктуризация, spread-оператор, методы Object.keys, Object.values, Object.entries, Object.assign, shallow copy.

10 мин
11

Функции в JavaScript: декларация vs выражение, стрелочные функции, this

Начальный

Всё о функциях JavaScript — объявление, функциональные выражения, стрелочные функции, контекст this, call/apply/bind, аргументы по умолчанию и rest-параметры.

11 мин
12

Классы в JavaScript: constructor, extends, super, static, приватные поля

Средний

Классы ES6+ в JavaScript — синтаксис class, конструктор, наследование extends/super, статические методы, приватные поля #private, геттеры и сеттеры.

10 мин
13

Модули в JavaScript: import, export, CommonJS vs ESM, tree shaking

Средний

Модули JavaScript — ES Modules (import/export) и CommonJS (require/module.exports). Именованный и дефолтный экспорт, реэкспорт, динамический import и tree shaking.

9 мин
14

Обработка ошибок в JavaScript: try/catch/finally, Error, кастомные ошибки

Средний

Обработка ошибок в JavaScript — try...catch...finally, объект Error, создание кастомных ошибок, Promise.catch, unhandledrejection и лучшие практики.

8 мин
15

Map, Set, WeakMap, WeakSet в JavaScript — когда использовать

Средний

Коллекции Map и Set в JavaScript — отличие от объектов и массивов, когда использовать Map вместо Object, Set для уникальных значений, WeakMap и WeakSet для памяти.

8 мин
16

Symbol в JavaScript — для чего нужны и как использовать

Средний

Symbol в JavaScript — уникальные идентификаторы, Symbol.iterator, Symbol.toPrimitive, глобальный реестр Symbol.for и практические примеры.

7 мин
17

Регулярные выражения в JavaScript: основы и частые паттерны

Средний

Регулярные выражения (RegExp) в JavaScript — синтаксис, методы test/exec, замена и поиск, частые паттерны: email, телефон, URL, пароль,_digit, пробелы.

10 мин
18

Итераторы и генераторы в JavaScript: function*, yield, for...of

Средний

Итераторы и генераторы JavaScript — интерфейс Iterable, Symbol.iterator, function* и yield, бесконечные последовательности, ленивые вычисления и async генераторы.

9 мин
19

Дата и время в JavaScript: Date, toLocaleDateString, Intl.DateTimeFormat

Начальный

Работа с датами в JavaScript — создание Date, форматирование, разница между датами, toLocaleDateString, Intl.DateTimeFormat и частые задачи с датами.

9 мин
20

Числа в JavaScript: Number, Math, BigInt, parseFloat, parseInt

Начальный

Работа с числами в JavaScript — Number, Math, округление, BigInt для больших чисел, parseFloat/parseInt, проблема 0.1 + 0.2, форматирование чисел.

9 мин
21

Fetch API в JavaScript: GET, POST, PUT, DELETE и загрузка файлов

Средний

Fetch API в JavaScript — HTTP-запросы GET, POST, PUT, DELETE, работа с JSON, заголовки, обработка ошибок, загрузка файлов и FormData.

11 мин
22

localStorage и sessionStorage: сохранение данных в браузере

Начальный

localStorage и sessionStorage в JavaScript — сохранение данных в браузере, отличия, методы setItem/getItem/removeItem, хранение объектов, сроки жизни и ограничения.

8 мин
23

События в JavaScript: addEventListener, всплытие, делегирование, throttle и debounce

Средний

Обработка событий в JavaScript — addEventListener, объект event, всплытие и погружение, stopPropagation, делегирование событий, throttle и debounce.

11 мин
24

Web Workers: параллельные вычисления в браузере

Продвинутый

Web Workers в JavaScript — выполнение тяжёлых вычислений в фоновом потоке, создание Worker, обмен сообщениями, SharedWorker и ограничения.

8 мин
25

Proxy и Reflect в JavaScript: метапрограммирование

Продвинутый

Proxy и Reflect в JavaScript — перехват операций с объектами, геттеры и сеттеры через Proxy, валидация, логирование, Reactivity и примеры использования.

9 мин