Изучайте JavaScript
Бесплатный интерактивный онлайн-курс по JavaScript. Вы пишете JS в каждом уроке, с подсказками ИИ, когда заходите в тупик, и сертификатом по завершении.
257,728+ 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
Практические курсы JavaScript - бесплатный старт в браузере.
Задачи для начинающих: практика базовых концепций
ПопулярноеПроверьте свои знания основ программирования на практике и попробуйте решить эти задачи на любом языке. Удачного кодинга!
Сертификат по окончании
- 20
- 20
Задачи по программированию
ПопулярноеПроверьте свои навыки решения задач по программированию, выполняя упражнения разного уровня сложности. Этот курс предназначен для тех, кто уже знаком с базовым синтаксисом любого языка программирования.
Сертификат по окончании
- 32
- 31
Задачи по программированию: Часть 2
Проверьте свои навыки решения задач с помощью упражнений разного уровня сложности. Курс предназначен для программистов, уже знакомых с базовым синтаксисом любого языка программирования, и является продолжением первой части «Задач по программированию».
Сертификат по окончании
- 25
- 24
Стек — Серия «Структуры данных» №1
В этом курсе вы изучите структуру данных Стек, создадите её с нуля на выбранном вами языке и попрактикуетесь в решении задач!
- 13
- 6
- 1
Кучи и очереди с приоритетом — Структуры данных №7
НовоеВ этом курсе вы изучите структуру данных Куча (основу очередей с приоритетом), создадите MinHeap с нуля на выбранном вами языке и попрактикуетесь в решении задач с её использованием!
Сертификат по окончании
- 14
- 6
- 1
Буткемп по выводу фигур из звездочек
Примените свои навыки решения задач в программировании, чтобы научиться выводить фигуры из звездочек любой сложности: от простых до самых продвинутых. В процессе вы освоите работу с вложенными циклами, условными операторами и математическими вычислениями.
- 30
- 28
Почему стоит изучать JavaScript на Coddy
- Запускайте JavaScript прямо в браузере. Никакой установки Node.js, никакой настройки IDE. Редактор и вывод - рядом, так что цикл обратной связи в JavaScript короткий.
- Современный JavaScript: синтаксис ES6+, стрелочные функции, промисы, async/await, деструктуризация, модули - тот JavaScript, который пишут в реальных проектах, а не устаревшие подходы.
- AI-подсказки помогают разобраться с упражнением, не выдавая готового решения, - так вы выстраиваете понимание, благодаря которому следующий JS-код пишется проще.
- Бесплатный сертификат о завершении курса JavaScript, который можно добавить в LinkedIn или резюме.