Ответ
Стандарты JavaScript определяются спецификацией ECMAScript (ES). Основные версии:
- ES5 (2009) - Добавил strict mode, JSON, методы массивов (map, filter, reduce).
[1,2,3].map(x => x * 2); // [2,4,6]
- ES6/ES2015 - Классы, промисы, стрелочные функции, let/const, модули.
const sum = (a, b) => a + b;
- ES2016-ES2023 - Постепенные обновления:
- async/await (ES2017)
- Опциональная цепочка
?.(ES2020) - Nullish coalescing
??(ES2020) - Top-level await (ES2022)
const user = data?.user ?? 'Guest';
TC39 (комитет по стандартизации) выпускает обновления ежегодно. Современные браузеры и Node.js поддерживают большинство фич ES6+. Для старых сред используют транспайлеры (Babel).