JavaScript: справочник и путь обучения с нуля

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

Как устроен этот справочник

Три принципа, отличающие его от обычного набора уроков.

Разбираем ловушки, а не синтаксис. Что такое массив, знает любая документация. Здесь — почему [10, 9, 1].sort() даёт [1, 10, 9], почему .attr('checked') возвращает undefined при отмеченном чекбоксе и почему innerHTML с данными пользователя — это дыра.

jQuery подаём честно. По каждой jQuery-задаче даём нативный аналог 2026 года. Библиотека не запрещена — она опциональна, и понимать её код полезно, потому что он стоит на миллионах сайтов.

Где код не проверяли — так и написано. Браузерные примеры мы не прогоняли на живой странице и помечаем это прямо в статьях, в отличие от раздела Node.js, где приводится фактический вывод.

Путь для начинающего

С чего начать изучение JavaScript
  1. 1 Что такое JavaScriptЯзык против среды, при чём тут Java и ECMAScript
  2. 2 Ключевые словаЧто нельзя называть переменной и почему undefined особенный
  3. 3 МассивыМутирующие методы против остальных — главное деление
  4. 4 ECMAScript 6let, стрелки, деструктуризация — фундамент современного JS
  5. 5 Работа с DOMКлассы, атрибуты, содержимое — и где тут XSS

Ловушки, на которых спотыкаются даже опытные

Каждая — реальная причина многочасовой отладки:

Что В чём подвох
sort() без компаратора сравнивает как строки: [10, 9, 1][1, 10, 9]
.attr('checked') возвращает undefined при отмеченном чекбоксе
innerHTML с данными XSS: <img onerror> выполнится
slice против splice одна буква — противоположное поведение
класс есть, стиля нет это специфичность CSS, а не JavaScript
href от пользователя javascript: в ссылке выполнит код

Сквозная тема: безопасность фронтенда

Если читать раздел подряд, виден один принцип, повторённый в разных задачах.

Безопасность даёт не фильтрация, а то, что данные некому интерпретировать:

Один и тот же ответ на четыре разные атаки: не чистите ввод, а отправляйте его туда, где его не выполнят.

jQuery или нативный код

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

Вывод везде один: jQuery в проекте — пользуйтесь; нет — не добавляйте ради этих задач. Как и CSS-препроцессоры, он стал опциональным.

Полный индекс по темам

Ниже — все материалы раздела по темам. Серверный JavaScript, Node.js, базы данных и потоки — в соседнем разделе Node.js.

Полный список статей по темам

JavaScript (37)

  1. Что такое Node.js и когда его не стоит брать 6 мин
  2. Что такое JavaScript и где он сегодня работает 5 мин
  3. Массивы в JavaScript: методы, мутации и подводные камни 5 мин
  4. Ключевые слова JavaScript: полный список и ловушки 5 мин
  5. Webpack в 2026: зачем нужен бандлер и что вместо него 4 мин
  6. Debounce и throttle в JavaScript: укрощаем события 3 мин
  7. Fetch в JavaScript: запросы к серверу без боли 4 мин
  8. JSON в JavaScript: parse, stringify и подводные камни 4 мин
  9. localStorage в JavaScript: хранение данных в браузере 3 мин
  10. Map и Set в JavaScript: когда не хватает объекта 4 мин
  11. Spread и rest в JavaScript: три точки 4 мин
  12. Symbol в JavaScript: зачем нужны символы 4 мин
  13. this в JavaScript: четыре правила связывания 4 мин
  14. Дата и время в JavaScript: объект Date без боли 4 мин
  15. Делегирование событий в JavaScript: один обработчик 3 мин
  16. Деструктуризация в JavaScript: объекты и массивы 4 мин
  17. Замыкания в JavaScript: как и зачем 4 мин
  18. Итераторы и генераторы в JavaScript простыми словами 4 мин
  19. Классы в JavaScript: сахар над прототипами 4 мин
  20. Методы Object: keys, entries, assign, freeze 4 мин
  21. Область видимости и hoisting в JavaScript 4 мин
  22. Обработка ошибок в JavaScript: try/catch и throw 4 мин
  23. Объекты в JavaScript: создание и работа 4 мин
  24. Операторы в JavaScript: сравнение, логика, современные 4 мин
  25. Переменные в JavaScript: var, let, const 4 мин
  26. Поиск элементов в DOM: querySelector и друзья 3 мин
  27. Примитивы и ссылки в JavaScript: копирование 4 мин
  28. Прототипы в JavaScript: наследование под капотом 4 мин
  29. Регулярные выражения в JavaScript: практический старт 4 мин
  30. Сборка мусора в JavaScript: как управляется память 4 мин
  31. События в JavaScript: addEventListener на практике 4 мин
  32. Создание и изменение элементов DOM в JavaScript 3 мин
  33. Строки в JavaScript: методы и шаблонные литералы 4 мин
  34. Типы данных в JavaScript: примитивы и объекты 4 мин
  35. Формы и валидация в JavaScript: обработка ввода 4 мин
  36. Функции в JavaScript: объявление, выражение, стрелки 4 мин
  37. Числа и Math в JavaScript: округление и точность 4 мин

Частые вопросы

С чего начать изучение JavaScript?
С понимания, что JavaScript — язык, а не среда: он работает и в браузере, и на сервере. Дальше — основы (типы, массивы, ключевые слова), потом DOM и события. jQuery сегодня учить как основной инструмент не нужно.
Нужно ли учить jQuery в 2026?
Как основной инструмент — нет: всё, ради чего его брали, есть в нативном JavaScript. Но код на jQuery стоит на миллионах сайтов, поэтому читать и понимать его полезно. Наши статьи по jQuery дают и нативный аналог каждой задачи.
Чем этот раздел отличается от справочника MDN?
MDN — исчерпывающая документация. Здесь — разбор мест, где ошибаются: почему .attr('checked') врёт, почему sort() путает числа, чем innerHTML опасен. Не «что есть в языке», а «где о него спотыкаются».
JavaScript или TypeScript учить сначала?
Сначала JavaScript. TypeScript — надстройка с типами, которая при сборке исчезает, а выполняется всё равно JS. Не понимая базу, вы будете спорить с типами вслепую.
Что общего у всех статей раздела?
Сквозная линия безопасности: параметризация вместо фильтрации. textContent вместо innerHTML, белый список протоколов в href, экранирование данных — всё это один принцип, показанный в разных задачах.