title: ES7—-includes
categories: Javascript
tag:

  • es7
    date: 2021-11-27 21:16:34

Array Includes

在 ES7 之前,如果我们想判断一个数组中是否包含某个元素,需要通过 indexOf 获取结果,并且判断是否为 -1。

  • 在 ES7 中,我们可以通过 includes 来判断一个数组中是否包含一个指定的元素,根据情况,如果包含则返回 true,否则返回 false。
  1. const arr = [10, 20, 30, 40]
  2. console.log(arr.indexOf(20)) //1
  3. // 使用includes
  4. console.log(arr.includes(20)) //true
  1. // 使用includes
  2. console.log(arr.includes(20)) //true
  3. // 第二个参数表示从第几个索引开始遍历是否包含
  4. console.log(arr.includes(20, 2)) //false

和 indexOf 的区别

  1. const arr = [10, 20, 30, 40, NaN]
  2. // indexOf不能正确判断
  3. console.log(arr.indexOf(NaN)) //-1
  4. // includes可以正确判断
  5. console.log(arr.includes(NaN)) //true

指数运算

在 ES7 之前,计算数字的乘方需要通过 Math.pow 方法来完成。

在 ES7 中,增加了 ** 运算符,可以对数字来计算乘方。

  1. console.log(3 ** 3) //27
  2. console.log(Math.pow(3, 3)) // 27