ECMAScript 2021
Номери версій JavaScript
Старі версії JS позначаються цифрами: ES5 (2009) та ES6 (2015).
З 2016 року версії мають назви за роками: ECMAScript 2016, 2017, 2018, 2019, ...
Нові функції в ES2021
- Promise any():
const first = await Promise.any([prom1,prom2,prom3]);
- String replaceAll()
- Numeric Separators (_)
Нові функції в ES2022
- Array at()
- String at()
- RegExp /d
- Object.hasOwn()
- error.cause
- await import
- Приватні методи та поля
- Оголошення полів класу
Попередження
Ці функції відносно нові.
Старішим веббраузерам може знадобитися альтернативний код (Polyfill)
JavaScript String ReplaceAll()
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 ввів цифровий роздільник (_), щоб зробити числа більш читабельними:
Цифровий роздільник призначений лише для візуального використання.
Цифровий роздільник можна поставити в будь-якому місці числа:
Примітка
Цифровий роздільник не дозволяється використовувати на початку чи в кінці числа.
У JavaScript тільки змінні можуть починатися з _.
Числовий роздільник підтримується в усіх сучасних веббраузерах із січня 2020 року:
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Jun 2019 | Jan 2020 | Oct 2019 | Sep 2019 | Jun 2019 |
JavaScript Array at()
ES2022 запровадив метод масиву at()
:
Приклади
Отримайте третій елемент fruits (фруктів):
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits.at(2);
Спробуйте самі »
Отримайте третій елемент fruits:
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let fruit = fruits[2];
Спробуйте самі »
Метод at()
повертає проіндексований елемент із масиву.
Метод at()
повертає те саме, що й []
.
Метод at()
підтримується в усіх сучасних веббраузерах із березня 2022 року:
Chrome 92 | Edge 92 | Firefox 90 | Safari 15.4 | Opera 78 |
Apr 2021 | Jul 2021 | Jul 2021 | Mar 2022 | Aug 2021 |
Примітка
Багато мов дозволяють індексувати в негативних дужках
, наприклад [-1], щоб отримати доступ до елементів із кінця об’єкта/масиву/рядка.
Це неможливо в JavaScript, оскільки [] використовується для доступу як до масивів, так і до об’єктів. obj[-1] посилається на значення ключа -1, а не на останню властивість об’єкта.
Для розв’язання цієї проблеми в ES2022 було представлено метод at()
.
JavaScript String at()
ES2022 запровадив рядковий метод at()
:
Приклади
Отримати третю букву імені:
const name = "W3Schools";
let letter = name.at(2);
Спробуйте самі »
Отримайте третю букву імені:
const name = "W3Schools";
let letter = name[2];
Спробуйте самі »
Метод at()
повертає проіндексований елемент із рядка.
Метод at()
повертає те саме, що й []
.
Метод at()
підтримується в усіх сучасних веббраузерах із березня 2022 року:
Chrome 92 | Edge 92 | Firefox 90 | Safari 15.4 | Opera 78 |
Apr 2021 | Jul 2021 | Jul 2021 | Mar 2022 | Aug 2021 |