ES 7 新特性

151 阅读1分钟

Array.prototype.includes

includes是一个Array上很有用的方法,用于快速查找数组中是否包含某个元素,包括NaN(所以和indexOf不一样)。

(() => {
  let arr = [1, 2, 3, NaN];

  if (arr.includes(2)) {
    //查找2是否存在于arr数组中
    console.log("找到了!"); //>> 找到了!
  }
  if (!arr.includes(2, 3)) {
    //第二个参数3表示数组下标为3的项,也即第4项开始查找
    console.warn("不存在!"); //>> 不存在!
  }

  //下面两句说明incluedes和indexOf的区别
  console.log(arr.includes(NaN)); //true
  console.log(arr.indexOf(NaN) != -1); //false
})();

指数函数的中缀表示法

这个是与Math.pow有关的特性,还记得i++,x += x这种写法吗,指数函数的中缀表示法与之类似。与python语言一样,JavaScript也采用两个星符号**来表示Math.pow。好处有两个:

  • a. 中缀表示法比函数表示法更简洁,这使它更可取。
  • b. 方便数学、物理、机器人学等领域的计算。
//用法一:x ** y

let squared = 2 ** 2;//等同于: 2 * 2
let cubed = 2 ** 3;//等同于: 2 * 2 * 2
//用法二:x **= y

let a = 2;
a **= 2;//等同于: a = a * a;

let b = 3;
b **= 3;//等同于: b = b * b * b**;**

没错,是一块很甜的语法糖(指计算机语言中添加的某种语法,这种语法对语言的功能并没有影响,但是更方便程序员使用)。