На этой странице описаны все стандартизированные функции версий ECMAScript (также известной как ES).
ES2022
- Private Fields — узнайте, как определять частные поля в классе.
- Private Methods — узнайте, как определять частные методы в классе.
- Top-level await — модуль ожидания верхнего уровня и варианты его использования.
- Array.prototype.at() method — использование метода Array.prototype.at() для доступа к элементам массива.
ES2021
- String.prototype.replaceAll() — замена всех входящих подстрок соответствующих шаблону, на новые.
- Логические операторы присваивания — узнайте о логических операторах присваивания, включая
||=,&&=, и??= - Разделитель чисел — покажет вам, как сделать числа более читабельными, используя подчеркивание в качестве разделителя чисел.
- Promise.any() — узнайте, как использовать метод JavaScript Promise.any() для возврата первого выполненного Promise.
ES2020
- Оператор нулевого объединения ( ?? ) — принимает два значения и возвращает второе значение, если первое равно null или undefined.
- Необязательный оператор цепочки (?.) — упрощение способа доступа к свойству, расположенному глубоко внутри цепочки связанных объектов, без необходимости проверять, является ли каждая ссылка в цепочке пустой или неопределенной.
- Promise.allSettled() — принимает список промисов и возвращает новый промис, который разрешается в массив значений, которые были разрешены (либо разрешены, либо отклонены) входными промисами.
- Динамический импорт — рассмотрите как динамически импортировать модуль с помощью функционального объекта import().
- BigInt — введение BigInt, представляющего большие целые числа.
- globalThis — предоставляет стандартный способ доступа к глобальному объекту в разных средах.
ES2019
- Array.prototype.flat() — рекурсивно выравнивает массив до указанной глубины.
- Array.prototype.flatMap() — выполняет функцию сопоставления для каждого элемента и выравнивает результат.
- Object.fromEntries() — преобразует список пар ключ-значение в объект.
- Optional catch binding — пропустите переменную исключения в блоке catch.
- String.prototype.trimStart() — удаляет начальные пробельные символы строки.
- String.prototype.trimEnd() — удаляет конечные пробельные символы строки.
ES2018
- Object spread оператор — используйте оператор распространения (...) для объектов.
- Promise.prototype.finally() — выполняет фрагмент кода после выполнения промиса, независимо от его результата.
- Асинхронные итераторы — узнайте, как использовать асинхронные итераторы для последовательного доступа к асинхронным источникам данных.
- Асинхронные генераторы — рассмотрите, как создать асинхронный генератор.
ES2017
- Дополнение строки — рассмотрите, как использовать пару методов: padStart() и padEnd(), которые позволяют дополнить строку другой строкой до определенной длины.
- Object.values() — возвращает значения собственных перечисляемых свойств объекта в виде массива.
- Object.entries() — возвращает собственные перечислимые пары строковых свойств [key, value] объекта.
- JavaScript async / await — пишите асинхронный код с более понятным синтаксисом.
ES2016
- Оператор возведения в степень — познакомьтесь с оператором возведения в степень (**), который позволяет вычислить основание степени, что аналогично методу Math.pow().
- Array includes() — позволяет проверить, находится ли элемент в массиве.
ES versions
В следующей таблице описаны редакции и официальные названия ECMAScript:
| Edition | Official name | Date published |
|---|---|---|
| ES12 | ES2021 | June 2020 |
| ES11 | ES2020 | June 2020 |
| ES10 | ES2019 | Summer 2019 |
| ES9 | ES2018 | June 2018 |
| ES8 | ES2017 | June 2017 |
| ES7 | ES2016 | June 2016 |
| ES6 | ES2015 | June 2015 |
| ES5.1 | ES5.1 | June 2011 |
| ES5 | ES5 | December 2009 |
| ES4 | ES4 | Abandoned |
| ES3 | ES3 | December 1999 |
| ES2 | ES2 | June 1998 |
| ES1 | ES1 | June 1997 |