JavaScript
Язык веба — интерактивные сайты и приложения
Изучи JavaScript с нуля: от переменных, условий, циклов и функций до массивов, объектов, DOM, асинхронного кода, классов и модулей. В каждом уроке ты запускаешь код прямо в браузере и сразу видишь результат. К концу курса ты сможешь писать собственные программы, которые работают с данными и делают веб-страницы интерактивными.
Содержание курса
Основы JavaScript
НачальныйНапиши первую программу и освой переменные, типы данных, операторы и работу со строками.
- 1Что такое JavaScript? Первая программаУзнай, что такое JavaScript и где он работает, и напиши первую программу с `console.log`.10 мин
- 2Переменные и типы данныхНаучись создавать переменные с `let` и `const`, правильно их называть и различать основные типы данных JavaScript.12 мин
- 3Операторы и приведение типовИзучи арифметические, логические операторы и операторы сравнения и пойми, почему `'5' + 3` даёт `'53'`.14 мин
- 4Строки и шаблонные строкиНаучись работать с текстом: обращаться к символам, пользоваться полезными методами и шаблонными строками, которые легко подставляют переменные в текст.13 мин
Условия, циклы и функции
НачальныйНаучи программу принимать решения, повторять действия и разбивать код на повторно используемые функции.
- 5Условия: if, else и switchНаучи программу принимать решения: `if`, `else if`, `else`, тернарный оператор и `switch`.13 мин
- 6Циклы: for, while и for...ofНаучись многократно повторять действия: `for`, `while`, `do...while`, `for...of`, а также `break` и `continue`.14 мин
- 7Функции и стрелочные функцииРазбивай код на повторно используемые части: объявление функций, параметры, `return`, значения по умолчанию, стрелочные функции и область видимости.15 мин
Данные и браузер
СреднийУправляй данными с помощью массивов, объектов и JSON, перехватывай ошибки и оживляй страницы через DOM.
- 8Массивы и методы массивовНаучись работать со списками: добавлять и удалять элементы, а также преобразовывать данные с помощью `map`, `filter`, `find` и `reduce`.16 мин
- 9Объекты, деструктуризация и spreadХрани все свойства одной сущности вместе в объекте, распаковывай их деструктуризацией, копируй и объединяй с помощью `...`.17 мин
- 10JSON и обработка ошибокОтправляй и получай данные в формате JSON и перехватывай ошибки с помощью `try...catch`, чтобы программа не падала.15 мин
- 11DOM и событияУправляй страницей с помощью JavaScript: находи элементы, меняй их, создавай новые и реагируй на клики и ввод текста.18 мин
Современный JavaScript
ПродвинутыйПознакомься с асинхронным кодом, классами, модулями и инструментами профессиональных разработчиков.
- 12Асинхронный JavaScript: колбэки, промисы, async/awaitНаучись выполнять действия с ожиданием, не замораживая программу: `setTimeout`, колбэки, промисы и `async`/`await`.20 мин
- 13Классы и наследованиеСоздавай однотипные объекты с помощью классов: конструктор, методы, наследование через `extends`, приватные поля, геттеры и статические методы.18 мин
- 14Модули и современные инструментыРазбивай код на файлы с помощью `import` и `export`, подключай пакеты через npm и познакомься с инструментами профессионалов: Vite, ESLint, Prettier.16 мин
JavaScript в глубину
ПродвинутыйРазберись, как язык устроен изнутри: замыкания, прототипы, цикл событий, генераторы, функциональный стиль, ошибки, регулярные выражения и производительность.
- 15Область видимости и замыканияРазберись, как JavaScript находит переменные: лексическая область видимости, замыкания, IIFE и паттерн «модуль», а также `this`, `bind`, `call` и `apply`.22 мин
- 16Прототипы и наследованиеПосмотри, что на самом деле скрывается за `class`: цепочка прототипов, `Object.create`, функции-конструкторы и почему классы называют «синтаксическим сахаром».20 мин
- 17Цикл событий и конкурентностьЗагляни внутрь движка: стек вызовов, очередь задач и очередь микрозадач. Научись точно предсказывать порядок выполнения `setTimeout`, промисов и `await`.22 мин
- 18Итераторы, генераторы и символыУзнай, на чём держатся `for...of` и spread: протокол итерации, `Symbol.iterator`, функции-генераторы с `yield`, ленивые последовательности и символы как уникальные ключи.20 мин
- 19Функциональное программированиеПиши предсказуемый код: чистые функции, неизменяемость, функции высшего порядка, каррирование, композиция и мощные приёмы с `reduce`.22 мин
- 20Обработка ошибок и отладкаБольше, чем `try...catch`: встроенные типы ошибок, собственные классы ошибок с `cause`, чтение стека вызовов, `debugger` и методы консоли, которые помогают быстро находить баги.22 мин
- 21Регулярные выраженияИщи, проверяй и преобразуй текст регулярными выражениями: классы символов, квантификаторы, якоря, группы, флаги и методы `test`, `match`, `matchAll`, `replace`.22 мин
- 22Производительность и памятьСделай код быстрым и экономным: сложность операций с массивами, `Map` и `Set` в нотации «O большое», debounce и throttle, мемоизация, сборка мусора и утечки памяти.22 мин
Профессиональный JavaScript
ПродвинутыйNode.js, REST API, React, тестирование и безопасность — инструменты и привычки, которые нужны в реальных проектах.
- 23Основы Node.jsЗапускай JavaScript вне браузера: среда Node.js, модули CommonJS и ES, npm и `package.json`, работа с файлами через `fs` и `path`.22 мин
- 24fetch и REST APIОбщайся с серверами: как работает HTTP, ресурсы и методы REST, `fetch` с JSON, коды статуса, обработка ошибок, тайм-ауты через `AbortController` и параллельные запросы.24 мин
- 25Основы ReactСобирай интерфейс из компонентов: JSX, props, состояние через `useState`, побочные эффекты через `useEffect` и списки с ключами — ключевые идеи самой популярной UI-библиотеки.24 мин
- 26Тестирование JavaScriptДокажи, что код работает: модульные тесты на Vitest и Jest, `describe`/`it`/`expect`, основные матчеры, тестирование асинхронного кода и ошибок, моки и шпионы и что на самом деле значит покрытие.22 мин
- 27Безопасность и лучшие практикиЗащити пользователей и код: XSS и CSRF, проверка входных данных, секреты вне браузера, ESLint и Prettier и пошаговый переход на TypeScript.24 мин