ECMAScript2016新特性

ES2016 正式名称叫做 ECMAScript2016,发布于 2016 年 6 月,与 ES2015 相比 ES2016 只是一个小版本更新,只包含两个小功能。

数组的 includes 方法

首先,就是数组实例的 includes() 方法,这个方法可以用来检查数组当中是否包含指定成员变得更加简单。在这之前想要检查某个数组当中是否存在某个指定的成员,就必须使用数组的 indexOf() 方法来实现。如下代码所示:

const arr = ['foo', 1, NaN, false]

console.log(arr.indexOf('foo'))

上述代码的运行结果如下:

0

从打印的结果可以看到,indexOf() 方法可以返回成员在数组中的索引值。在没有找到指定成员的情况下,这个方法会返回 -1。如下代码所示:

const arr = ['foo', 1, NaN, false]

console.log(arr.indexOf('bar'))

上述代码的运行结果如下:

-1

但是这种方式判断数组当中是否存在某一个成员也会存在一个问题,就是不能查找数组当中为 NaN 的成员。如下代码所示:

const arr = ['foo', 1, NaN, false]

console.log(arr.indexOf(NaN))

上述代码的运行结果如下:

-1

ECMAScript2015 之后为数组新增的 includes() 方法就可以直接检查数组当中是否存在某个成员,这个方法返回一个 Boolean 值来表示存在还是不存在。如下代码所示:

const arr = ['foo', 1, NaN, false]

console.log(arr.includes('foo'))

上述代码的运行结果如下:

true

还有就是 includes() 方法相比于 indexOf() 方法来讲,includes() 方法可以用来查找 NaN 这样的数值。如下代码所示:

const arr = ['foo', 1, NaN, false]

console.log(arr.includes(NaN))

上述代码的运行结果如下:

true

指数运算符

除了数组实例的 includes() 方法之外,ECMAScript2016 还新增了指数运算符。在 ECMAScript2016 之前想要进行指数计算的话,需要借助 Math 对象的 pow() 方法来实现。如下代码所示:

console.log(Math.pow(2, 10))

上述代码的运行结果如下:

1024

ECMAScript2016 新增的指数运算符就是在 JavaScript 语言层面可以直接进行指数计算,就像加减乘除运算符一样。如下代码所示:

console.log(2 ** 10)

上述代码的运行结果同样为 1024。这个指数运算符对于数学密集型的应用是一个很好的补充,不过在日常的应用开发很少会用到指数计算

猜你喜欢

转载自blog.csdn.net/kingj_fullstack/article/details/107598424