ES2016(ES7)新特性

719 阅读1分钟

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

合集