Курсы JavaScript Язык, который движет вебом
JavaScript делает страницы интерактивными и запускает целые приложения. Переменные, функции, массивы и объекты, затем DOM, асинхронный код, замыкания и современные инструменты: основа основ для любого веб-разработчика.
Начать этот курс в Kodokon Основы Новичок - база, шаг за шагом
Переменные (let, const) и примитивные типыУзнай, как хранить информацию с помощью let и const, и научись различать базовые типы значений в JavaScript. Операторы и условия (if/else, сравнения, ===)Научись вычислять, сравнивать значения с помощью === и заставлять программу принимать решения с if и else. Циклы: for, while, for...ofПовторяй инструкции, не повторяясь сам, - с помощью циклов for, while и for...of. Функции: объявление, параметры, returnСоздавай переиспользуемые блоки кода с помощью function, передавай им параметры и получай результат через return. Массивы и объекты: создание, чтение, изменениеХрани несколько значений в массивах, описывай сущности объектами, а затем научись их читать и изменять. Развитие Средний уровень - создавай реальные проекты
Методы массивов: map, filter, reduce, findНаучись преобразовывать, фильтровать и агрегировать данные с помощью четырёх методов массива, которые чаще всего встречаются в реальных проектах. Стрелочные функции, область видимости и шаблонные строкиОсвой стрелочный синтаксис, блочную область видимости и замыкания, а затем собирай динамические строки с помощью шаблонных строк. Деструктуризация и spread/restАккуратно извлекай данные из объектов и массивов, а затем копируй и объединяй структуры с помощью оператора spread. Работа с DOM: querySelector, обработчики событийВыбирай элементы на странице, реагируй на клики и переходи к делегированию событий ради производительного кода. JSON, localStorage и твой первый fetchСериализуй данные в JSON, сохраняй их в браузере через localStorage и получай удалённые данные с помощью fetch. Продвинутый Уверенный уровень - продвинутые паттерны и производительность
Замыкания и лексические области видимостиРазберись, как замыкания захватывают переменные, чтобы инкапсулировать состояние и не попадаться на ловушки областей видимости. this, прототипы и классыПойми, как this определяется динамически, как работает цепочка прототипов и что на самом деле классы добавляют к объектной модели. Асинхронность вглубь: промисы, async/await, обработка ошибокИспользуй событийный цикл, правильно распараллеливай промисы и сделай обработку асинхронных ошибок надёжной. ES-модули: import/export, структура проектаСтруктурируй проекты с помощью ES-модулей, используя их статический анализ и избегая токсичных бочек и циклических зависимостей. Отладка и надёжность: try/catch, продвинутая консоль, свои ошибкиПострой явную стратегию ошибок с выделенными классами, грамотно расставленными границами catch и консолью, используемой на полную. Мастерство Эксперт - архитектура, внутренности и крайние случаи
Цикл событий: стек вызовов, микрозадачи, макрозадачиРазберись, как движок на самом деле планирует синхронный код, микрозадачи и макрозадачи. Итераторы, генераторы и протоколы итерацииОсвой протоколы, стоящие за for...of, спред-оператором и деструктуризацией, а затем используй генераторы для ленивых последовательностей. Proxy, Reflect и метапрограммированиеПерехватывай фундаментальные операции языка через ловушки Proxy и аккуратно делегируй поведение по умолчанию через Reflect. Память и производительность: GC, WeakMap/WeakRef, debounce/throttleРазберись, как работает сборщик мусора, используй слабые ссылки, чтобы избежать утечек, и сглаживай дорогую работу через debounce и throttle. Функциональные паттерны: каррирование, композиция, неизменяемостьСтруктурируй код с помощью каррирования, композиции функций и неизменяемых данных, чтобы выиграть в предсказуемости и тестируемости.