paths / javascript-starter
учебный путь · javascript

JavaScript с нуля

  • JavaScript
  • Начинающий
  • 5 модулей
  • 25 задач
  • Бесплатно

Освойте основы JavaScript на прикладных задачах: строки и шаблонные литералы, условия без truthy-ловушек, массивы и циклы, объекты и копии, функции. Каждая задача — маленькая история из продуктовой разработки.

AI-ассистент ведёт подсказками, но решение не выдаёт
curriculum

Задачи пути — 5 модулей, 25 задач

Каждый модуль — навык. Решаешь задачи по порядку, и к финалу из них собирается рабочий результат.

25 задач · 5 модулей
1.1
Хэндл как набрали
Нормализуйте хэндл из формы регистрации мессенджера: пробелы по краям и случайный Caps Lock не должны плодить дубли
1.2
Продолжить просмотр
Соберите подпись карточки «Продолжить просмотр» по жёсткому шаблону — шаблонные литералы в деле
1.3
Трек-номер в смс
Скройте середину трек-номера в смс пункта выдачи: slice с обоих концов строки
1.4
Часы забега
Соберите табло времени пробежки «5:07»: padStart дополняет секунды ведущим нулём
1.5
Цена билета
Превратите копейки в ценник афиши «549,00 ₽»: Math.floor, остаток от деления и padStart в одной строке
2.1
Датчик воздуха
Переведите индекс качества воздуха в статус индикатора: лесенка if с ранними return и честными границами на 50 и 100
2.2
Фильтр чата стрима
Решите, пройдёт ли сообщение в чат стрима: явная проверка пустоты, лимит длины и бан служебных команд — три условия, один boolean
2.3
Умный звонок
Превратите два флага распознавания лиц в действие умного звонка: порядок правил решает, кому откроется дверь, а кто попадёт на видео
2.4
Сверка штрихкода
Сверьте код со сканера с базой склада: строка против числа, явный Number() вместо коварного == — и ведущие нули не страшны
2.5
Статус заказа еды
Соберите фразу для карточки доставки еды: нормализация регистра, цепочка правил по порядку и ветка по умолчанию для незнакомых этапов
3.1
Трекер привычек
Посчитайте выполненные привычки дня циклом со счётчиком: строгое сравнение с «done», регистру и пробелам поблажек нет
3.2
Шагомер
Сложите метры всех прогулок за день накопителем — и узнайте, почему накопитель, начатый со строки, склеивает числа вместо сложения
3.3
Самый длинный трек
Найдите индекс самого длинного трека классическим for: при равных длительностях побеждает первый из них
3.4
Пуш-центр
Отберите в новый массив заголовки пушей, влезающие на экран часов: граница включительно, порядок цел, вход неприкосновенен
3.5
Чек кофейни
Соберите строки электронного чека «Капучино — 390,00 ₽» из массива позиций: цикл по объектам, целые копейки, Math.floor и padStart
4.1
Термостат
Достаньте настройку комнаты из профиля термостата: оператор in, дефолт «auto» — и ни одной записи в чужой объект
4.2
Реакции на пост
Сверните массив эмодзи в объект-счётчик: накопление через acc[key], ключи — в порядке первого появления
4.3
Прочитано
Пометьте уведомление прочитанным, не трогая стор: спред-копия {...obj} и разница между «изменил объект» и «вернул новый»
4.4
Анкета доставки
Найдите незаполненные поля анкеты перед оформлением заказа: отсутствующий ключ и пустая строка — две разные «пустоты» с одним смыслом
4.5
Облако фотографий
Сгруппируйте плоскую выгрузку фотостудии по альбомам: объект массивов, порядок первого появления и ни одной мутации входа
5.1
Доставка за начатый км
Посчитайте тариф курьерской доставки за каждый начатый километр — и познакомьтесь с параметром по умолчанию: без второго аргумента действует базовый тариф
5.2
Журнал звонков
Соберите подпись длительности звонка: до часа — «3:05», после — «1:02:05». Две ветки формата и несколько return в одной функции
5.3
Панель лифта
Превратите строку с сенсорной панели лифта в номер этажа или null — и обезвредьте ловушку Number("") === 0, которая делает из пустого ввода нулевой этаж
5.4
Итоги корзины
Соберите сводку корзины гипермаркета — количество, сумма и средняя позиция в целых копейках; пустая корзина не должна делить на ноль
5.5
Тренажёр слепой печати капстоун
Финал курса: оцените заезд на тренажёре печати по эталону — точность целым процентом, порог 90 и честный boolean в отчёте
koddo start javascript-starter

Готов начать этот путь?

Зарегистрируйся — откроем путь прямо на первой задаче. Без установки и настройки, всё в браузере.