ECMAScript 2021
Номер версии JavaScript
Старые версии JS называются числами: ES5 (2009) и ES6 (2015).
С 2016 года версии называются по годам: ECMAScript 2016, 2017, 2018, 2019, ...
Новые функции
Новые функции ES2021:
- Promise.any()
- Метод строки replaceAll()
- Делитель чисел (_)
Новые функции ES2022:
- Метод массива at()
- Метод строки at()
- Регулярное выражение /d
- Object.hasOwn()
- error.cause
- await import
- Приватные методы и поля
- Объявление полей класса
Предупреждение
Эти функции относительно новые.
Старые браузеры могут потребовать альтернативного кода (Polyfill)
Метод ReplaceAll() строки JavaScript
ES2021 ввел метод строки replaceAll():
Пример
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
Метод replaceAll() позволяет вам указать регулярное выражение вместо строки, которую нужно заменить.
Если параметр является регулярным выражением, то необходимо установить глобальный флаг (g
), иначе будет выведена ошибка TypeError。
Пример
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
Совет:}ES2020 Ввел метод строки matchAll().
Цифровые разделители в JavaScript
ES2021 ввел цифровые разделители (_
) чтобы сделать число более читаемым:
Пример
const num = 1_000_000_000;
Цифровые разделители предназначены только для визуального использования.
Пример
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Цифровые разделители могут быть placed в любом месте числа:
Пример
const num1 = 1_2_3_4_5;
Внимание
Цифровые разделители не могут出现在 начале или конце числа.
В JavaScript используется толькоПеременнаяМогут начинаться с подчеркивания _.
С января 2020 года все современные браузеры поддерживают цифровые разделители:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Июнь 2019 года | Январь 2020 года | Октябрь 2019 года | Сентябрь 2019 года | Июнь 2019 года |