ECMAScript语言规范的第7个版本发布(ES2016)。由于 ES6
一下子更新太多了,ES7
就添加了两个小特性。
Array.prototype.includes
用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true
,否则返回 false
。
console.log(['a', 'b', 'c'].includes('a')); // true
console.log(['a', 'b', 'c'].includes('d')); // false
在这之前,我们通常会通过 Array.prototype.indexOf
来判断。
console.log(['a', 'b', 'c'].includes('a')); // true
console.log(['a', 'b', 'c'].indexOf('a') !== -1); // true
唯一的区别是 includes()
方法能找到 NaN
,而 indexOf()
不行。
console.log([NaN].includes(NaN)); // true
console.log([NaN].indexOf(NaN)); // -1
Exponentiation Operator 求幂运算
使用 a ** b
简化 Math.pow(a, b)
。
console.log(2 ** 3); // 2*2*2=8
console.log(Math.pow(2, 3)); // 2*2*2=8