Программирование и IT

Как изучить JavaScript с нуля

JavaScript — язык, который исполняется в каждом браузере, а через Node.js ещё и на сервере. У него низкий порог входа — код можно запустить прямо в консоли браузера, — но много неочевидных мест, от приведения типов до асинхронности. План ниже рассчитан на три-четыре месяца и предполагает, что ты уже знаешь основы HTML и CSS или изучаешь их параллельно.

Обновлено
В этой статье

Где писать и запускать код#

Самый быстрый способ — консоль в инструментах разработчика браузера: F12,
вкладка Console. Для файлов понадобится редактор кода и страница, к
которой подключён скрипт:

<script src="app.js" defer></script>

Установи Node.js — он пригодится, чтобы запускать JavaScript вне браузера
(node app.js), ставить пакеты через npm и запускать тесты. Сразу
заведи Git-репозиторий под учебные упражнения.

Этап 1: язык (4–5 недель)#

Объявление переменных через let и const (старый var оставь для
чтения чужого кода), типы данных, строки и шаблонные строки, условия,
циклы, функции — объявления, стрелочные функции, параметры по умолчанию.
Затем массивы и их методы (map, filter, reduce, find), объекты,
деструктуризация, spread.

Отдельно разбери места, где JavaScript ведёт себя неожиданно:

console.log("5" + 3);        // "53" — сложение со строкой склеивает
console.log("5" - 3);        // 2 — вычитание приводит к числу
console.log(0.1 + 0.2 === 0.3); // false — погрешность чисел с плавающей точкой
console.log(typeof null);    // "object" — историческая особенность языка

Правило на каждый день: сравнивай через строгое ===, а не ==.

Этап 2: страница и события (3–4 недели)#

DOM — дерево элементов страницы, с которым работает скрипт. Поиск
элементов (querySelector), изменение текста и классов, создание новых
элементов, обработчики событий (addEventListener) для кликов, ввода и
отправки форм. Упражнения: счётчик кликов, переключатель тёмной темы,
список дел с добавлением и удалением пунктов, сохранение списка в
localStorage.

Этап 3: асинхронность и сеть (3 недели)#

Цикл событий, колбэки, промисы, async/await, обработка ошибок через
try/catch. Запросы к серверу через fetch и разбор JSON. Практика —
приложение погоды или поиска фильмов на открытом API с индикатором
загрузки и сообщением об ошибке, если сеть недоступна.

Этап 4: инструменты и следующий шаг#

Модули import/export, пакеты из npm, сборщик (например, Vite),
линтер ESLint, форматирование Prettier. Тесты — Vitest или Jest: начни с
чистых функций, которые получают данные и возвращают результат без
обращения к странице. После этого можно выбирать фреймворк — React, Vue или
Svelte — либо уходить в серверную разработку на Node.js. Браться за
фреймворк до уверенного владения самим языком — частая причина того, что
код «работает, но непонятно почему».

Проекты для портфолио#

  • список дел с фильтрами «все / активные / выполненные» и сохранением;
  • викторина с таймером, подсчётом очков и таблицей результатов;
  • приложение на открытом API с поиском и постраничной загрузкой;
  • небольшая игра на <canvas> — змейка или арканоид.

Каждый проект опубликуй на бесплатном хостинге статических страниц и
добавь ссылку в README репозитория.

Самопроверка#

  • Предскажи результат фрагмента кода до запуска, потом проверь в
    консоли. Ошибки предсказаний — список тем для повторения.
  • Пиши тесты к функциям обработки данных и держи их зелёными.
  • Включи ESLint и разбирайся с каждым замечанием.
  • Открой свой проект с медленным интернетом (вкладка Network позволяет
    его сымитировать) и проверь, что пользователь видит понятные
    сообщения.

План по этапам

  1. Неделя 1 — окружениеКонсоль браузера, редактор, Node.js, репозиторий для упражнений.
  2. Недели 2–6 — языкПеременные, функции, массивы и объекты, методы массивов, приведение типов.
  3. Недели 7–10 — DOM и событияИзменение страницы, обработчики, формы, localStorage; список дел.
  4. Недели 11–13 — асинхронностьПромисы, async/await, fetch, приложение на открытом API.
  5. Недели 14–16 — инструменты и тестыМодули, npm, сборщик, ESLint, тесты; выбор фреймворка или Node.js.

Начать изучать эту тему у себя

План ляжет в твой репозиторий: отмечай этапы, веди конспект — история изменений покажет, как ты продвинулся.

Начать план

Проверь себя

1.Что выведет код: console.log("5" + 3)

2.Какое число выведет код: console.log("5" - 3)

3.Что выведет код: console.log(typeof null)

Источники

  • Современный учебник JavaScriptБесплатный подробный учебник на русском с задачами
    бесплатно
  • MDN Web DocsСправочник по языку, DOM и браузерным API
    бесплатно
  • Node.jsСреда выполнения JavaScript вне браузера и её документация
    бесплатно

Было полезно?

Ещё темы

Программирование и IT Как изучить Python с нуля Python хорош для первого знакомства с программированием: код читается почти как текст, а стандартная библиотека закрывает большинство бытовых задач. Этот план ведёт от установки интерпретатора до собственных скриптов, покрытых тестами, — примерно за четыре месяца при занятиях около часа в день. Программирование и IT Как изучить SQL с нуля SQL — язык запросов к реляционным базам данных. Он нужен разработчикам, аналитикам, тестировщикам и менеджерам, которые хотят сами доставать цифры. Базовые запросы осваиваются за несколько недель, уверенная работа со сложными отчётами — за два-три месяца практики. Ниже — порядок тем и способы тренироваться на настоящей базе. Программирование и IT Как изучить Linux с нуля Linux работает на большинстве серверов, в контейнерах и на множестве устройств, поэтому командная строка нужна разработчику, тестировщику, аналитику и системному администратору. Осваивать систему удобнее всего не чтением списков команд, а ежедневной работой в терминале и решением небольших практических задач. Ниже — последовательность тем на два-три месяца. Программирование и IT Как изучить Java с нуля Java — строго типизированный язык, на котором написаны банковские системы, серверы крупных сервисов и Android-приложения. Строгость поначалу замедляет, зато компилятор ловит многие ошибки до запуска. Этот план рассчитан примерно на полгода занятий по часу в день и ведёт от первой программы до небольшого серверного приложения. Программирование и IT Как изучить HTML и CSS с нуля HTML описывает, из чего состоит страница, CSS — как она выглядит. Это не языки программирования в строгом смысле, но без них не обходится ни один сайт, и с них удобно начинать путь во фронтенд. Базу вёрстки можно освоить за два-три месяца, если с первой недели собирать настоящие страницы, а не только читать справочник. Программирование и IT Как научиться программировать с нуля Научиться программировать самостоятельно можно без технического образования, если с первой недели писать код руками, а не только смотреть уроки. Ниже — как выбрать первый язык, что установить, в каком порядке идти по темам и как понять, что ты действительно продвинулся.

Ещё сценарии