ECMAScript2016(es7)新特性
前言
ECMAScript2016(es7)新特性。
正文
** 指数运算符
之前如果想要计算某个数的某次幂时,会使用到Math.pow
函数来进行计算。
1 | var r = Math.pow(2, 10); // 计算2的10次幂 |
而现在,只需要使用**
运输符即可直接运算。
1 | var r = 2 ** 10; // 计算2的10次幂 |
数组includes
方法
之前如果想要寻找数组是否存在某一个元素的时候,使用indexOf
来查找索引从而来判断。
1 | const array = [1, 2, 3, 4]; |
某些时候我们只关心数组是否存在元素而已,而不关心它到底在哪个位置。
之前用判断是否等于-1
来实现这个效果。
1 | if(array.indexOf(0) !== -1){ |
而现在可以使用includes
来完成这一代码。
1 | if(array.includes(1)){ |
整体下来更加的简洁,也不会出现-1
这种魔法值。
比如以后如果规范抽风了,把indexOf
没找到值的情况下返回数组的length
的话,那么原来的代码就会出现运行的逻辑错误。
并且需要注意的是,indexOf
不支持对NaN
的查找,而includes
支持。
indexOf
返回了-1
,而includes
返回了true
。