ES6| Nicholas C. Zakas| 2017年10月31日 23:59 2 请介绍两个ECMAScript 2016的新特性 如题,请介绍两个ECMAScript 2016的新特性 展开剩余部分 爱范儿 App 下载新版客户端,获取最新资讯 下载 App AppSo 有了它,你的 iPhone 才是 iPhone 下载 App AppSo 让智能手机更好用的秘密 下载 App
指数运算符
数学运算如加法和减法分别有 + 和 - 等运算符。与他们类似,** 运算符通常用于指数运算。在ECMAScript 2016中,引入了 ** 而不是Math.pow。
// 不使用
Math.pow(7,2) //49
//使用
7**2 //49
Array.prototype.includes includes是数组上的简单实例方法,并有助于轻松查找某个项是否在Array中(包括NaN不像indexOf)
const arr = [ 1, 2, 3, 4, NaN];
// es2016不使用
if(arr.indexOf(3) >= 0){
console.log(true);
}
//使用
if(arr.includes(3)){
console.log(true);
}
//ps: 注意 indexOf 是不支持查找NaN的
arr.includes(NaN) // true
arr.indexOf(NaN) // -1 (indexOf 不支持 NaN)
(注:想要命名的JavaScript规范contains,但这显然已被Mootools使用,因此他们使用了includes。)