Итоги курса
Курс об основах 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. Хорошее знание языка делает освоение любого фреймворка простым.