ПопулярныйПуть
Изучайте JavaScript
Бесплатный интерактивный онлайн-курс по JavaScript. Вы пишете JS в каждом уроке — синтаксис, современные возможности ES6, функции, DOM — с подсказками ИИ, когда заходите в тупик, и сертификатом по завершении.
245,770+ codders записались
- Для начинающих
Помощь ИИ при написании кода
Практические интерактивные уроки
Аудио-озвучка к каждому уроку
Тесты для проверки знаний
Бесплатный сертификат о прохождении
Программа
Раздел 1
Основы
Начать разделНачатьРазвернутьСвернутьСоздайте прочную основу с помощью основных понятий и базовых навыковВведение
4 уроков223- 01ЯзыкЗадача
- 02Hello World!ЗадачаКвизАудио
- 03КомментарииКвизАудио
- 04Структура кодаКвизАудио
Переменные
7 уроков1247- 01ЧислаЗадачаМастерствоКвизАудио
- 02СтрокиЗадачаМастерствоКвизАудио
- 03BooleanЗадачаМастерствоКвизАудио
- 04Правила именованияЗадачаМастерствоКвизАудио
- 05Пустые переменныеЗадачаКвизАудио
- 06Итоги: Инициализация переменныхЗадача
- 07КонстантыЗадачаМастерствоКвизАудио
Операторы, часть 1
6 уроков1037- 01Арифметические операторыЗадачаМастерствоКвизАудио
- 02Оператор остатка от деленияЗадачаМастерствоКвизАудио
- 03Арифметические сокращенияЗадачаМастерствоКвизАудио
- 04Операторы сравненияЗадачаМастерствоКвизАудио
- 05Строгое и нестрогое равенствоЗадачаКвизАудио
- 06Повторение: простая математикаЗадача
Операторы. Часть 2
5 уроков831- 01Логические операторы. Часть 1ЗадачаМастерствоКвизАудио
- 02Логические операторы. Часть 2ЗадачаМастерствоКвизАудио
- 03Повторение — простая логикаЗадача
- 04Логические операторы. Часть 3ЗадачаМастерствоКвизАудио
- 05Приведение типовЗадачаКвизАудио
Принятие решений
5 уроков729- 01Оператор IfЗадачаМастерствоКвизАудио
- 02Конструкция If - ElseЗадачаМастерствоКвизАудио
- 03Повторение — Простой калькуляторЗадача
- 04Вложенные конструкции If - ElseЗадачаКвизАудио
- 05Оператор SwitchЗадачаКвизАудио
Основы ввода-вывода
6 уроков931- 01ВыводЗадачаМастерствоКвизАудио
- 02Вывод с переменнымиЗадачаМастерствоКвизАудио
- 03Преобразование типов — Часть 1ЗадачаМастерствоКвизАудио
- 04Преобразование типов — Часть 2ЗадачаКвизАудио
- 05Повторение — До 120Задача
- 06Повторение — True или FalseЗадача
Калькулятор разделения счета
Проект4 уроков1- 01Приветственное сообщениеЗадача
- 02Расчет чаевых и общей суммыПроект
- 03Разделение счетаПроект
- 04Форматированный выводПроект
Циклы
7 уроков1345- 01Цикл ForЗадачаМастерствоКвизАудио
- 02Цикл WhileЗадачаМастерствоКвизАудио
- 03BreakЗадачаМастерствоКвизАудио
- 04ContinueЗадачаМастерствоКвизАудио
- 05Повторение: ФакториалЗадача
- 06Цикл Do WhileЗадачаМастерствоКвизАудио
- 07Вложенный циклЗадачаМастерствоКвизАудио
Функции
8 уроков1250- 01Объявление функцииЗадачаМастерствоКвизАудио
- 02АргументыЗадачаМастерствоКвизАудио
- 03Возврат значенияЗадачаМастерствоКвизАудио
- 04Повторение: функция SigmaЗадача
- 05Функциональное выражениеЗадачаМастерствоКвизАудио
- 06Параметры по умолчаниюКвизАудио
- 07Стрелочные функцииЗадачаМастерствоКвизАудио
- 08Повторение: функция валидацииЗадача
FizzBuzz с изюминкой
Проект4 уроков1- 01Обзор игрыЗадача
- 02Функция FizzBuzzПроект
- 03Цикл по числамПроектАудио
- 04Добавляем изюминкуПроект
Массивы. Часть 1
6 уроков1037- 01Объявление массиваЗадачаМастерствоКвизАудио
- 02Доступ к элементам массиваЗадачаМастерствоКвизАудио
- 03Изменение массивовЗадачаКвизАудио
- 04Методы массивов. Часть 1ЗадачаМастерствоКвизАудио
- 05Методы массивов. Часть 2ЗадачаМастерствоКвизАудио
- 06Повторение: Обработчик массивовЗадача
Массивы. Часть 2
8 уроков1254- 01Перебор массивовЗадачаКвизАудио
- 02Метод forEachЗадачаКвизАудио
- 03Цикл for...ofЗадачаМастерствоКвизАудио
- 04Повторение — счетчик PЗадача
- 05Срезы массивовЗадачаМастерствоКвизАудио
- 06Методы массивов. Часть 3ЗадачаМастерствоКвизАудио
- 07Методы массивов. Часть 4ЗадачаМастерствоКвизАудио
- 08Проверка на вхождениеЗадачаКвизАудио
Трекер списка покупок
Проект4 уроков1- 01Обзор проектаЗадача
- 02Добавление элементаПроект
- 03Удаление элементаПроект
- 04Просмотр спискаПроект
Финальные испытания
3 уроков37- 01Числовая пирамидаЗадачаКвизАудио
- 02Удвоить нечетныеЗадача
- 03Что купитьЗадача
Раздел 2
Логика и поток
Начать разделНачатьРазвернутьСвернутьРазвивайте навыки решения проблем и создавайте динамичные, интерактивные программыСтроки в деталях
5 уроков630- 01Основы работы со строкамиКвиз
- 02Итерация по строкамЗадачаМастерствоКвиз
- 03Шаблонные литералыЗадачаКвиз
- 04Методы строкЗадачаМастерствоКвиз
- 05Итоги — String WeaverЗадача
Многомерные массивы
9 уроков1452- 01Основы 2D массивовКвиз
- 02Доступ к элементам 2D массиваЗадачаМастерствоКвиз
- 03Вложенные циклы и 2D массивыЗадачаМастерствоКвиз
- 04Повторение: 2D массивыЗадача
- 05Сложение и вычитание матрицЗадачаМастерствоКвиз
- 06Ступенчатые массивыЗадачаМастерствоКвиз
- 073D массивы и далееЗадачаМастерствоКвиз
- 08Распространенные паттерны 2D массивовЗадачаМастерствоКвиз
- 09Повторение: всё о массивахЗадача
JSON. Часть 1
7 уроков944- 01Что такое JSON?Квиз
- 02Проверка наличия ключаЗадачаМастерствоКвиз
- 03Методы объектовЗадачаМастерствоКвиз
- 04Оператор spread. Часть 1Квиз
- 05Оператор spread. Часть 2ЗадачаМастерствоКвиз
- 06Удаление ключейЗадачаМастерствоКвиз
- 07Повторение: манипуляции с ключами JSONЗадача
JSON Часть 2
6 уроков530- 01Итерация по JSONЗадачаКвиз
- 02Вложенный JSONЗадачаКвиз
- 03Опциональная цепочка JSONКвиз
- 04Поверхностное и глубокое копированиеЗадачаКвиз
- 05Повторение — Магазин велосипедовЗадача
- 06Повторение — Солнечная системаЗадача
Множества. Часть 1
8 уроков749- 01Что такое множество?ЗадачаКвиз
- 02Итерация по множествамКвиз
- 03Добавление элементаЗадачаКвиз
- 04Удаление элементаЗадачаКвиз
- 05Проверка наличия элементаЗадачаКвиз
- 06Размер и проверка на пустотуЗадачаКвиз
- 07Копирование и очисткаЗадачаКвиз
- 08Итоги — Основы множествЗадача
Множества. Часть 2
6 уроков637- 01Математика — Объединение множествЗадачаКвиз
- 02Математика — Пересечение множествЗадачаКвиз
- 03Математика — Разность множествЗадачаКвиз
- 04Математика — Симметрическая разностьЗадачаКвиз
- 05Подмножества и надмножестваЗадачаКвиз
- 06Повторение — Группировка друзейЗадача
Система управления библиотекой
Проект5 уроков1- 01Обзор проектаЗадача
- 02Добавление книгПроект
- 03Поиск по названиюПроект
- 04Фильтрация по жанруПроект
- 05Отметить как прочитанноеПроект
Интересные темы о массивах
4 уроков422- 01Деструктуризация массивовЗадачаКвиз
- 02Синтаксис Spread в массивахЗадачаКвиз
- 03Разреженные массивыЗадачаКвиз
- 04Итоги — Воркшоп по массивамЗадача
Продвинутые методы массивов
9 уроков761- 01Методы Join и SplitКвиз
- 02Метод MapЗадачаМастерствоКвиз
- 03Метод FilterЗадачаКвиз
- 04Метод ReduceЗадачаКвиз
- 05Цепочки методов массивовЗадачаКвиз
- 06ForEach и Map — это одно и то же?Квиз
- 07Метод SortЗадачаКвиз
- 08Методы Find и FindIndexКвиз
- 09Итоги — Мастер цепочекЗадача
Управление системой фестиваля
Проект6 уроков1- 01Обзор проектаЗадача
- 02Добавление фильмов и площадокПроект
- 03Добавление сеансаПроект
- 04Покупка билетовПроект
- 05Оценка фильмовПроект
- 06Отмена сеансовПроект
Раздел 3
Введение в TypeScript
Начать разделНачатьРазвернутьСвернутьВведение в TypeScript после изучения JavaScriptНачало работы с TS
5 уроков232- 01Что такое TypeScript?Квиз
- 02Зачем использовать TypeScript?Квиз
- 03Ваш первый код на TypeScriptЗадачаКвиз
- 04Процесс компиляции и ошибкиКвиз
- 05Итоги: Введение в TSЗадача
Основные типы
7 уроков748- 01Базовые типы: str, num, booleanЗадачаКвиз
- 02Тип 'any': лазейкаЗадачаКвиз
- 03Тип 'unknown'ЗадачаКвиз
- 04Работа с 'null' и 'undef'ЗадачаКвиз
- 05Вывод типов в действииЗадачаКвиз
- 06Явные аннотации типовЗадачаКвиз
- 07Итоги: Практика по основным типамЗадача
Структуры данных: массивы и кортежи
9 уроков862- 01Типизированные массивыЗадачаКвиз
- 02Модификатор 'readonly' для массивовЗадачаКвиз
- 03Что такое кортеж?Квиз
- 04Объявление кортежей и доступ к нимЗадачаКвиз
- 05Деструктуризация кортежейЗадачаКвиз
- 06Кортежи readonlyЗадачаКвиз
- 07Многомерные типизированные массивыЗадачаКвиз
- 08Оператор spread с массивамиЗадачаКвиз
- 09Итоги: массивы и кортежиЗадача
Работа с функциями
8 уроков855- 01Типизация параметров и возвращаемых значенийЗадачаКвиз
- 02Типизация стрелочных функцийЗадачаКвиз
- 03Тип возвращаемого значения 'void'ЗадачаКвиз
- 04Необязательные параметры с '?'ЗадачаКвиз
- 05Значения параметров по умолчаниюЗадачаКвиз
- 06Типизация Rest-параметровЗадачаКвиз
- 07Определение типов функцийЗадачаКвиз
- 08Итоги: Создание типизированных функцийЗадача
Типы: псевдонимы, объединения и пересечения
7 уроков751- 01Псевдонимы типов для примитивовЗадачаКвиз
- 02Типы объединения ('|')ЗадачаКвиз
- 03Работа с типами объединенияЗадачаКвиз
- 04Литеральные типыЗадачаКвиз
- 05Типы пересечения ('&')ЗадачаКвиз
- 06Комбинирование псевдонимов типовЗадачаКвиз
- 07Итоги: продвинутые комбинации типовЗадача
Типизация объектов и интерфейсы
8 уроков757- 01Встроенные аннотации типов объектовЗадачаКвиз
- 02Псевдонимы типов для объектовЗадачаКвиз
- 03Введение в интерфейсыЗадачаКвиз
- 04Интерфейсы против псевдонимов типовКвиз
- 05Необязательные и Readonly свойстваЗадачаКвиз
- 06Расширение интерфейсов и типовЗадачаКвиз
- 07Добавление методов в интерфейсыЗадачаКвиз
- 08Итоги: Определение структуры объектовЗадача
Проект: Простой список задач
Проект6 уроков18- 01Проект: Определение структуры TaskЗадачаКвиз
- 02Функция для добавления задачиПроект
- 03Функция для изменения статуса задачиПроект
- 04Функция: Список задач по статусуПроект
- 05Функция: Печать сводки задачПроект
- 06Собираем всё воединоПроект
Перечисления (Enums)
6 уроков638- 01Что такое числовое перечисление?ЗадачаКвиз
- 02Использование числовых перечисленийЗадачаКвиз
- 03Что такое строковое перечисление?ЗадачаКвиз
- 04Использование строковых перечисленийЗадачаКвиз
- 05Гетерогенные перечисленияЗадачаКвиз
- 06Итоги: использование перечисленийЗадача
Обобщения: первое знакомство
6 уроков537- 01Проблема, которую решают обобщенияКвиз
- 02Создание обобщенной функции IdentityЗадачаКвиз
- 03Использование обобщенной функцииЗадачаКвиз
- 04Обобщенные массивыЗадачаКвиз
- 05Обобщенные интерфейсыЗадачаКвиз
- 06Итоги: практика по обобщенным функциямЗадача
Проект: Управление инвентарем
Проект5 уроков18- 01Проект: Универсальный предмет инвентаряЗадачаКвиз
- 02Функция: Добавление предметов в инвентарьПроект
- 03Функция поиска предмета по IDПроект
- 04Создание специфического типа инвентаряПроект
- 05Функция получения информации о предметеПроект
Продвинутые темы
6 уроков642- 01Утверждения типовЗадачаКвиз
- 02Type Guards: in и instanceofЗадачаКвиз
- 03Тип 'never'ЗадачаКвиз
- 04Nullable-типы ('strictNull')ЗадачаКвиз
- 05Индексные сигнатуры для объектовЗадачаКвиз
- 06Итоги: Тонкая настройка типовЗадача
Раздел 4
Объектно-ориентированное программирование
Начать разделНачатьРазвернутьСвернутьУзнайте, как организовывать код с помощью классов, объектов и переиспользуемых структурОбъекты и ключевое слово this
6 уроков642- 01Краткий обзор: ОбъектыЗадачаКвиз
- 02Добавление методов в объектыЗадачаКвиз
- 03Понимание ключевого слова thisЗадачаКвиз
- 04Функции-конструкторыЗадачаКвиз
- 05Ключевое слово newЗадачаКвиз
- 06Итоговое испытаниеЗадача
Организация кода
4 уроков434- 01Что такое модули?ЗадачаКвиз
- 02Экспорт с помощью exportЗадачаКвиз
- 03Импорт с помощью importЗадачаКвиз
- 04Default против именованных экспортовЗадачаКвиз
Классы и объекты
4 уроков426- 01Что такое класс?ЗадачаКвиз
- 02Создание экземпляровЗадачаКвиз
- 03Свойства и методыЗадачаКвиз
- 04Итоговое испытаниеЗадача
Методы и управление состоянием
2 уроков218- 01Методы, изменяющие состояниеЗадачаКвиз
- 02Паттерн цепочки вызовов методовЗадачаКвиз
Инкапсуляция и доступ
4 уроков426- 01ИнкапсуляцияЗадачаКвиз
- 02Публичные и приватные поля классовЗадачаКвиз
- 03Приватные методыЗадачаКвиз
- 04Задание на повторениеЗадача
Проект: Простой банковский счет
Проект3 уроков1- 01Класс BankAccountЗадача
- 02Пополнение и снятие средствПроект
- 03Баланс как приватное полеПроект
Наследование и ключевое слово extends
6 уроков645- 01НаследованиеЗадачаКвиз
- 02Отношение «is-a»ЗадачаКвиз
- 03Ключевое слово extendsЗадачаКвиз
- 04Метод super()ЗадачаКвиз
- 05Наследование свойств и методовЗадачаКвиз
- 06Итоговое испытаниеЗадача
Организация кода ООП
1 урок19- 01Организация классов в модулиЗадачаКвиз
Статические методы и свойства
4 уроков425- 01Уровень класса против уровня экземпляраЗадачаКвиз
- 02Статические свойстваЗадачаКвиз
- 03Статические вспомогательные методыЗадачаКвиз
- 04Задание на закреплениеЗадача
Полиморфизм
4 уроков425- 01Что такое полиморфизм?ЗадачаКвиз
- 02Переопределение унаследованных методовЗадачаКвиз
- 03Использование superЗадачаКвиз
- 04Итоговое заданиеЗадача
Проект: Отрисовщик фигур
Проект4 уроков1- 01Настройка: Класс Shape и экспортЗадача
- 02Наследование класса CircleПроект
- 03Переопределение и метод AreaПроект
- 04Статический счетчик фигурПроект
Геттеры и сеттеры
4 уроков426- 01Ключевые слова get и setЗадачаКвиз
- 02Вычисляемые свойстваЗадачаКвиз
- 03Валидация и побочные эффектыЗадачаКвиз
- 04Итоговое заданиеЗадача
Композиция против наследования
3 уроков328- 01Отношения «has-a» и «is-a»ЗадачаКвиз
- 02Ограничения глубокого наследованияЗадачаКвиз
- 03Создание объектовЗадачаКвиз
Система управления библиотекой
Проект3 уроков1- 01Проектирование библиотекиЗадача
- 02Класс Book с использованием композицииПроект
- 03Валидация автора книгиПроект
Финальные испытания
4 уроков4- 01Конструктор игровых персонажейЗадача
- 02Система товаров для E-commerceЗадача
- 03Система управления университетомЗадача
- 04Система устройств умного домаЗадача
Почему стоит изучать JavaScript на Coddy
- Запускайте JavaScript прямо в браузере. Никакой установки Node.js, никакой настройки IDE. Редактор и вывод — рядом, так что цикл обратной связи в JavaScript короткий.
- Современный JavaScript: синтаксис ES6+, стрелочные функции, промисы, async/await, деструктуризация, модули — тот JavaScript, который пишут в реальных проектах, а не устаревшие подходы.
- AI-подсказки помогают разобраться с упражнением, не выдавая готового решения, — так вы выстраиваете понимание, благодаря которому следующий JS-код пишется проще.
- Бесплатный сертификат о завершении курса JavaScript, который можно добавить в LinkedIn или резюме.
Частые вопросы об изучении JavaScript
Легко ли изучать JavaScript?
JavaScript — один из самых простых языков для старта. Синтаксис прощает ошибки, код запускается прямо в браузере, а базовая интерактивность (клики по кнопкам, alert'ы) сразу даёт наглядный результат. Более сложные вещи — асинхронный код, замыкания, привязка this — идут позже, и курс вводит их постепенно, на практических примерах.
Сколько времени нужно, чтобы изучить JavaScript?
Основы JavaScript обычно можно освоить за одну-две недели ежедневной практики. Чтобы уверенно делать реальные проекты, чаще всего нужен один-три месяца регулярной работы.
Стоит ли учить HTML и CSS перед JavaScript?
Помогает. JavaScript становится гораздо понятнее, когда можно менять реальную страницу — скрыть элемент, обновить текст, среагировать на клик. Курсы по HTML и CSS короткие и плавно подводят к урокам JavaScript, где появляется DOM, но можно начать и с чистой логики на JavaScript.
Можно ли выучить JavaScript онлайн бесплатно?
Да. Интерактивный курс по JavaScript бесплатный — полноценные уроки, практические задания, тесты и сертификат. Редактор работает прямо в браузере, так что устанавливать Node.js или какие-то другие инструменты, чтобы начать писать JS, не нужно.
В чём разница между JavaScript и Java?
Несмотря на название, это совершенно разные языки. Java — статически типизированный, классово-ориентированный язык, который широко используется на серверах и в Android. JavaScript динамически типизирован и работает в браузерах и на Node.js. Для веба учите JavaScript; для Android или крупных корпоративных бэкендов — Java.
Получу ли я сертификат после курса JavaScript?
Да. После прохождения курса по JavaScript вы получаете бесплатный сертификат, которым можно поделиться в LinkedIn или добавить в резюме. Это проверяемое подтверждение того, что вы прошли структурированный интерактивный курс, а не просто посмотрели туториалы.