es7新增includes方法和幂运算符

120 阅读1分钟

一、includes

Array.prototype.includes(要搜索的值,从哪里开始搜索)

与indexOf区别

  1. 返回值。indexOf的返回数是数字型,includes的返回值是布尔型,
var ary = ['s'];
if (ary.indexOf('s') !== -1) {
    console.log("存在")
}
if (ary.includes('s')) {
    console.log("存在")
}

意义更加明确,况且可以节省代码量

  1. 判断NaN必须使用includes这个方法。
var arr = [NaN];
console.log(arr.indexOf(NaN)) // -1
console.log(arr.includes(NaN)) // true

当数组的有空的值的时候,includes会认为空的值是undefined,而indexOf不会。

var arr = new Array(2);
console.log(arr.indexOf(undefined)) // -1
console.log(arr.includes(undefined)) // true

二、幂运算符

求幂运算符(**),替代Math.pow。

4 ** 3  // 64

效果等同于

Math.pow(4,3)

但**还支持以下操作

var n = 4;
n **= 3; // 64