Стандарты JavaScript
Нововведения
ES2024
- статический метод
Array.fromAsync() - методы строки
.isWellFormed()и.toWellFormed() - улучшения
WeakRefиFinalizationRegistry - автоматическое преобразование между
BigIntиNumber - pattern matching
ES2023
Методы Array и TypedArray для поиска с конца:
.findLast(), .findLastIndex()
Изменение Array и TypedArray через возвращение новой копии:
.with(), .toSorted(), .toReversed(), .toSliced()
ES2022
- приватные методы класса, приватные аксессоры
- top-level
awaitв модулях - метод
.at()для Array, String и TypedArray - статический метод
Object.hasOwn() - флаг
/dу регулярных выражений Error.cause— указание какая ошибка вызвала другую
ES2021
- метод строки
.replaceAll() - numeric separators: новый синтаксис для литерала числа
- операторы логического присваивания
&&=,||=и??= Promise.any()иAggregateErrorWeakRefиFinalizationRegistry
ES2020
- оператор optional chaining:
?. - оператор nullish coalescing:
?? - динамический импорт
- тип данных
BigInt - метод строки
.matchAll() - статический метод
Promise.allSettled globalThis
ES2019
catchбез переменной- методы массива
.flat()и.flatMap() - методы строки
.trimStart()и.trimEnd() - статический метод
Object.fromEntries() - доработанная реализация
JSON.stringify() - доработанная реализация
.toString()для Function Symbol.description
ES2018
- rest/spread синтаксис
- метод
.finally()для Promise - конструкция
for-await-of
Новые возможности для регулярных выражений:
- lookbehind
\p{...}и\P{...}- захват именованных групп
- флаг
/s— single line
ES2017
- асинхронные функции (async-await)
- статические методы
Object.values()иObject.entries() - статический метод
Object.getOwnPropertyDescriptors() - методы строк
.padStart()и.padEnd() - разделяемая память и атомарные операции
- trailing comma в объявлениях и при вызове функций
ES2016
- метод массива
.includes() - оператор возведения в степень
ES2015
- ключевые слова
letиconst - параметры по умолчанию
- методы массива
.find()и.findIndex()
ES5 (2009)
- JSON
- циклы
for..inиfor..of - метод строки
.trim() - статический метод
Array.isArray() - строгий режим