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()
обеспечивают мощный массив