учебный путь · javascript

JavaScript с нуля

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

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

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

Что тебя ждёт в этом пути

Автор программы:

Что ты построишь

25 задач на JavaScript, разбитых на пять паков: типы значений, условия и ветвления, массивы и циклы, форма объектов, основы функций. Нормализуешь хэндл из формы регистрации, скроешь середину номера карты доставки, посчитаешь тариф курьера за каждый начатый километр и переведёшь индекс качества воздуха в статус датчика. Последняя задача пака — тренажёр слепой печати с точностью в процентах и порогом 90. Код пишешь и запускаешь прямо в браузере, ничего не настраивая.

Для кого

Для того, кто раньше не писал код или только начал JavaScript и хочет закрепить синтаксис на конкретных, а не абстрактных примерах. Уровень входа easy: задачи держат за руку, но не разжёвывают синтаксис лекциями — ты сразу пишешь код и смотришь, что не так. AI-ассистент подсказывает, если завис, но не решает вместо тебя.

Что нужно знать до старта

  • Опыт программирования не нужен
  • Достаточно уметь пользоваться браузером и читать условия задач на русском

Чему научишься

  • Обрабатывать строки шаблонными литералами, slice и padStart
  • Строить условия без truthy-ловушек и с явными границами сравнения
  • Проходить массивы циклом с накопителем и находить элементы по условию
  • Копировать объекты через spread, не изменяя исходные данные
  • Считать деньги в копейках через Math.floor и остаток от деления
  • Писать функции с параметрами по умолчанию и несколькими return
  • Отличать Number("") от нуля и другие ловушки приведения типов
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 Premium Открой все премиум-пути, AI-ассистента без лимитов и daily challenge. от 490 ₽ / мес
koddo start javascript-starter

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

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