Урок 12

Итоги курса

Курс об основах JavaScript.

Что ты узнал

  • Введение — где используется, стандарты, strict mode
  • Переменные — let, const, var, области видимости, hoisting, TDZ
  • Типы — примитивы, объекты, приведение, truthy/falsy
  • Операторы — арифметические, логические, ??, ?.
  • Условия — if/else, switch, тернарник
  • Циклы — for, while, for...of, for...in
  • Функции — объявление, стрелочные, callback, чистые
  • Массивы — map, filter, reduce, find, sort
  • Объекты — доступ, деструктуризация, spread, structuredClone
  • Промисы — then/catch, Promise.all, allSettled, race, any
  • Async/await и event loop — microtasks, macrotasks, порядок выполнения

Ключевые идеи

const по умолчанию. Используй let только когда значение меняется. var — никогда.

=== вместо ==. Всегда, кроме x == null.

Falsy-значения важны. false, 0, '', null, undefined, NaN.

Массивы — через map, filter, reduce. Забудь про for для преобразований.

Объекты копируй через spread. Вложенные — через structuredClone.

Асинхронность — через async/await. Промисы — под капотом.

Параллельно быстрее. Promise.all вместо последовательных await.

Частые ошибки

  • Использовать var
  • Сравнивать через ==
  • Мутировать массивы и объекты
  • Забыть break в switch
  • Использовать for...in для массивов
  • Путать map и forEach
  • Не обрабатывать ошибки в промисах
  • Последовательные await там, где можно параллельно
  • Забыть про this в стрелочных функциях

Что дальше

  • DOM — работа с элементами страницы
  • События — клики, ввод, формы
  • Fetch API — HTTP-запросы
  • Модули — import/export
  • Классы — прототипы, наследование
  • Регулярные выражения
  • Генераторы и итераторы
  • TypeScript — статическая типизация

Полезные ссылки

  • MDN: developer.mozilla.org/ru/docs/Web/JavaScript
  • javascript.info — современный учебник
  • ECMAScript: tc39.es
  • Can I use: caniuse.com

Заключение

JavaScript — фундамент веба. Понимание переменных, типов, функций, массивов и асинхронности отличает новичка от уверенного разработчика. Не гонись за фреймворками, пока не освоил язык. React, Vue, Node.js — всё это надстройки над JavaScript. Хорошее знание языка делает освоение любого фреймворка простым.