ECMAScript
ECMAScript (или ES) - это спецификация языка сценариев, стандартизированная Ecma International в ECMA-262 и ISO / IEC 16262. Она была создана для стандартизации JavaScript, чтобы способствовать развитию нескольких независимых реализаций. JavaScript остается самой известной реализацией ECMAScript с момента первой публикации стандарта, наряду с другими хорошо известными реализациями, включая JScript и ActionScript. ECMAScript обычно используется для написания сценариев на стороне клиента во всемирной паутине и все чаще используется для написания серверных приложений и служб с использованием Node.js.
ECMAScript 2015 (ES6)
ECMAScript 2015 (ES6) - это революция в языке сценариев. Он представил некоторые популярные функции, такие как обещания, функции стрелок, деструктурирование, классы и многое другое. Во многих смыслах ES2015 почти похож на изучение новой версии JavaScript.
Технический комитет Ecma 39 регулирует спецификацию ECMA. Они решили выпускать новую версию ECMAScript каждый год, начиная с 2015 года. Ежегодное обновление означает, что больше не будет крупных выпусков, таких как ES6.
Возможности ECMAScript 2016 (ES7)
После выпуска ES6 большинство из нас путается между выпуском функций в ES6 и ES6 + (ES7,8,9,10,11). Итак, в этой статье мы рассмотрим функции, выпущенные в ES7.
ECMAScript 2016 представил только две новые функции:
- Array.prototype.includes ()
- Оператор возведения в степень
Array.prototype.includes ()
Array.prototype.includes()
проверяет, содержится ли в массиве значение, переданное в качестве аргумента. Он возвращает true, если значение содержится в массиве. В противном случае возвращается false.
До ES7 мы использовали Array.prototype.indexOf()
, чтобы проверить, что массив содержит элемент
let fruits = ["apple", "orange", "banana"] if(fruits.indexOf("apple") !==-1){ console.log("Array contains the element") } Output: Array contains the element
После ES7 мы можем написать что-то вроде:
let fruits = ["apple", "orange", "banana"] if(fruits.includes("apple")){ console.log("Array contains the element") } Output: Array contains the element
Использование метода includes()
для проверки NaN
let array = [NaN]; if (array.includes(NaN)){ console.log("true. NAN is found in the array"); }else{
console.log("NaN not found in the array");}
Output:true. NAN is found in the array
Здесь с indexOf()
методом все начинает разваливаться. indexOf()
не работает с NaN
let array = [NaN];
if (array.indexOf(NaN) !== -1){
console.log("true. NAN is found in the array");
}else{
console.log("NaN not found in the array");
}
Output:
NaN not found in the array
Использование метода includes()
для проверки undefined
let array = [, , , ,]; if(array.includes(undefined)){ console.log("true array elements has undefined"); }else{
console.log("Sorry can't find undefined");}
Output:true array elements has undefined
Посмотрим, как indexOf()
метод справится с этой операцией.
let array = [, , , ,]; if(!array.indexOf(undefined) !== -1 ){ console.log("true. array elements has undefined"); } else { console.log("Sorry can't find undefined"); } Output: Sorry can't find undefined
Метод includes()
не различает -0 и +0
const a = [-0].includes(+0);
console.log(a);
Output:
true
Оператор возведения в степень
JavaScript уже поддерживает многие арифметические операторы, такие как +, -, *
и другие.
В ECMAScript 2016 появился оператор возведения в степень **
.
Он имеет ту же цель, что и Math.pow()
. Он возвращает первый аргумент в степени второго аргумента.
let baseValue = 2; let exponentValue = 5; let result = baseValue**exponentValue;
console.log(result);
Output: 32