
ECMAScript 2016, также известный как ES7, — это седьмая версия стандарта ECMAScript для JavaScript. Он был выпущен в июне 2016 года и представил несколько новых функций, которые помогли сделать JavaScript более выразительным и эффективным. В этой статье мы рассмотрим некоторые ключевые функции ECMAScript 2016 и приведем примеры их использования.
Массив.прототип.включает()
Метод includes() является новым дополнением к объекту-прототипу Array в ECMAScript 2016. Он возвращает логическое значение, указывающее, содержит ли массив определенное значение, а не возвращает индекс этого значения, как это делает indexOf(). Вот пример:
const arr = [1, 2, 3, 4, 5]; console.log(arr.includes(3)); // true console.log(arr.includes(6)); // false
Оператор возведения в степень
Оператор возведения в степень ** позволяет вычислить результат возведения числа в определенную степень. Это сокращение для использования метода Math.pow(). Вот пример:
const base = 2; const exponent = 3; console.log(base ** exponent); // 8
Object.values() и Object.entries()
ECMAScript 2016 представил два новых метода работы с объектами: Object.values() и Object.entries(). Object.values() возвращает массив значений собственных перечисляемых свойств объекта. Object.entries() возвращает массив собственных перечисляемых пар ключ-значение объекта. Вот некоторые примеры:
const obj = { x: 1, y: 2, z: 3 };
console.log(Object.values(obj)); // [1, 2, 3]
console.log(Object.entries(obj)); // [["x", 1], ["y", 2], ["z", 3]]
Асинхронный/ожидание
Async/await — это новый способ написания асинхронного кода в ECMAScript 2016. Он обеспечивает более чистый и читаемый синтаксис для работы с промисами. Ключевое слово async используется для определения функции как асинхронной, а ключевое слово await используется для ожидания разрешения промиса перед продолжением. Вот пример:
async function getData() {
const response = await fetch('https://jsonplaceholder.typicode.com/todos/1');
const data = await response.json();
return data;
}
getData().then(data => console.log(data));
Array.prototype.flat() и Array.prototype.flatMap()
Методы flat() и flatMap() были представлены в ECMAScript 2019 (ES10), но были предложены как часть ECMAScript 2016. Метод flat() сглаживает вложенные массивы в одномерный массив. Метод flatMap() сочетает в себе функции map() и flat(). Вот некоторые примеры:
const arr1 = [1, 2, [3, 4]]; console.log(arr1.flat()); // [1, 2, 3, 4] const arr2 = [1, 2, 3]; console.log(arr2.flatMap(x => [x * 2])); // [2, 4, 6]
Заключение
ECMAScript 2016 представил несколько новых мощных функций языка JavaScript. Метод Array.prototype.includes(), оператор возведения в степень, а также методы Object.values() и Object.entries() упрощают работу с массивами и объектами. Async/await упрощает асинхронное программирование, а Array.prototype.flat() и Array.prototype.flatMap() обеспечивают мощный массив