ECMAScript 7
ES7 相比 ES6 新增的功能并没有那么多,只增加了两个新的功能
Array.prototype.includes
指数运算符(
**)
Array.prototype.includes(val)
Array.prototype.includes()正式进入stage-4。用于判断 Array 实例中,是否包含某个具体的值。
const arr = [1, 2, 3];
arr.includes(1); // true
arr.includes(4); // falseArray.prototype.includes()与Array.prototype.indexOf()类似,主要不同的是Array.prototype.includes()能够判断数组是否存在NaN。
const arr = [NaN];
arr.includes(NaN); // true
arr.indexOf(NaN); // -1此外,Array.prototype.includes()不区分+0和-0
[-0].includes(+0); // true指数运算符(**)
ES7 正式收入的指数运算符由 Rick Waldron 提出。
6 ** 2; // 36在此之前,只能通过内置的Math.pow()进行指数运算
Math.pow(6, 2); // 36扩展的运算符**=与+=运算符类似
let num = 3;
num **= 2; // 9
num **= 2; // 81指数运算符的优先级非常高,要高于*运算符
2 ** 2 * 2; // 8
2 ** (2 * 2); // 16最后更新于