Интерактивный курс
Курс JavaScript
Изучите JavaScript с нуля на английском языке с помощью движка, который запускает ваш код прямо в браузере.
01 · Модуль 1 — Основы языка
Основы: объявление переменных, распознавание типов, выполнение арифметических действий и принятие решений.
- 1.1Переменные: let и constОбъявление значений, выбор между const и let, понимание базовой области видимости.~8 min
- 1.2Примитивные типыстрока, число, логическое значение, ноль, неопределенное: строительные блоки языка.~8 min
- 1.3ОператорыАрифметика, сравнение, булева логика и приоритет операторов.~10 min
- 1.4Условные обозначения: if, else, троичные.Запускайте другой код в зависимости от значения выражения.~10 min
02 · Модуль 2 — Строки и числа
Два наиболее часто используемых типа: составление текста с помощью шаблонных литералов, манипулирование им с помощью строковых методов, арифметические действия с числами и Math.
- 2.1Строки и литералы шаблоновКавычки, экранирование, обратные кавычки и интерполяция `${...}` для составления текста.~8 min
- 2.2Строковые методыдлина, toUpperCase, включает в себя, срез, разделение, замену: методы, которые вы используете каждый день.~10 min
- 2.3Числа и математикаЦелые и десятичные дроби, округление, Math.min/max/round/floor/ceil, Math.random.~10 min
- 2.4Преобразования типовNumber, String, parseInt, parseFloat, toFixed и когда вас кусает NaN.~8 min
03 · Модуль 3 — Массивы и объекты
Две структуры данных, которые вы будете использовать чаще всего: упорядоченные списки (массивы) и карты значений ключа (объекты).
- 3.1Массивы: упорядоченный списокСоздание массива, чтение/запись по индексу, push/pop/shift/unshift, длина.~10 min
- 3.2Объекты: карта ключ-значениеЛитералы, доступ к точкам и скобкам, добавление/удаление свойств.~10 min
- 3.3Деструктуризация и распространениеИзвлечение нескольких значений в одну строку; копируйте и объединяйте массивы и объекты с помощью `...`.~12 min
- 3.4Перебор коллекцийfor…of для массивов, for…in для объектов, Object.keys/values/entries.~10 min
04 · Модуль 4 — Функции
Разбивайте свои программы на части многократного использования: объявляйте их, записывайте компактно со стрелками, передавайте гибкие параметры и разбирайтесь в замыканиях.
- 4.1Объявление функцииОбъявление функции против выражения функции, параметров, возврата.~10 min
- 4.2Стрелочная функцияКомпактный синтаксис `=>`, краткое тело или блок, неявный возврат.~10 min
- 4.3Параметры по умолчанию и остальные параметрыЗначения по умолчанию, `...rest` для количества переменных аргументов, распределяются по месту вызова.~12 min
- 4.4Замыкания и область действияФункции, которые запоминают свое окружение: счетчики, фабрики, цепочку областей действия.~12 min
05 · Модуль 5 — Поток управления
Повторяйте, прыгайте, обрабатывайте ошибки: конструкции, которые дают вашему коду возможность реагировать на данные и проблемы.
- 5.1Циклы: for и whileклассика for, while, do… while: повторять до тех пор, пока не будет выполнено условие.~10 min
- 5.2для… из и для… вПеребирать значения коллекции и ключи объекта. Когда какой использовать.~10 min
- 5.3перерыв и продолжитьВыйдите из цикла раньше или перейдите к следующей итерации.~10 min
- 5.4попробовать/поймать/броситьВыявляйте и перехватывайте ошибки, отделяйте нормальный поток от исключительного.~12 min
06 · Модуль 6 — Методы функциональных массивов
Методы преобразования массивов: сопоставление для изменения каждого элемента, фильтрация для выбора, сокращение для агрегирования, поиск/некоторые/каждый для поиска, сортировка по порядку.
- 6.1карта и фильтрПреобразуйте каждый элемент (карту) и выберите подмножество (фильтр).~10 min
- 6.2уменьшитьОбъедините массив в одно значение: суммы, счетчики, карты.~12 min
- 6.3найти, некоторые, каждыйНайдите первый, проверьте, удовлетворяет ли хотя бы один или все предикату.~10 min
- 6.4сортироватьСортировать массив с помощью компаратора; стабильная сортировка, копирование через toSorted.~12 min
07 · Модуль 7 — Асинхронный
Код, который ожидает: обещания, асинхронное ожидание, имитация сетевых вызовов (выборка) и асинхронная обработка ошибок.
- 7.1Обещания: что это такоесостояние ожидания/выполнения/отклонения, .then/.catch, Promise.resolve и отклонения.~12 min
- 7.2асинхронный / ожиданиеНапишите асинхронный код, который читается как синхронный код.~12 min
- 7.3выборка (смоделированная)Вызов конечной точки, чтение JSON, составление результатов с помощью Promise.all.~14 min
- 7.4Ошибки в асинхронном кодеtry/catch round await, .catch на Promises, сбои в Promise.all.~12 min
08 · Модуль 8 — Практика и композиция
Соберите все части воедино: организуйте код в модулях, анализируйте CSV, проверяйте входные данные и планируйте задачи с помощью Promises.
- 8.1Модули ESM: импорт/экспортРазбить код на файлы и составить библиотеки с экспортом и импортом (концепция).~12 min
- 8.2Задача: парсер CSVПревратите строку CSV в массив объектов с помощью разделения, сопоставления и деструктуризации.~15 min
- 8.3Задача: валидатор данныхПроверяйте объекты с помощью составных правил и собирайте все ошибки.~15 min
- 8.4Задача: планирование с помощью обещанийЗапускайте задачи последовательно, параллельно и с ограничением параллелизма.~15 min