前一段时间小编一直在更新javascript es6版本的部分新语法和新特性,鉴于现在js一直在更新,接下来小编将和大家一起进步,一块探究js的新特性。今天小编就和大家一起来看看es7更新的语法和新特性。大家还可以关注我的微信公众号,蜗牛全栈。
一、includes
1、基本用法
let arr = [‘es6‘,‘es7‘,‘es8‘] console.log(arr.includes(‘es7‘)) // true 返回值是布尔,判断数组里面是否包含某个值
2、参数:第一个参数是要查找的元素,第二个元素是从第几个元素开始查找
let arr = [‘es6‘,‘es7‘,‘es8‘] console.log(arr.includes(‘es7‘,1)) // true 从数组index=1的位置开始查找 console.log(arr.includes(‘es7‘,2)) // false console.log(arr.includes(‘es7‘,-1)) // false 从最后一个(es8)开始往后找 console.log(arr.includes(‘es7‘,-2)) // true 从最后二个(es8)开始往后找
3、引用数据类型的判断:两种办法只能判断基本数据类型
arr = [‘es6‘,[‘es7‘,‘es8‘],‘es9‘] console.log(arr.includes([‘es7‘,‘es8‘])) // false console.log(arr.indexOf([‘es7‘,‘es8‘])) // -1
4、关于NaN判断
arr = [‘es6‘,NaN,‘es9‘] console.log(arr.includes(NaN)) // true console.log(arr.indexOf(NaN)) // -1 indexOf不能检测NaN
5、判断的严格性:两种方式判断相当三个等号严格判断
arr = [‘es6‘,NaN,‘es9‘] console.log(arr.includes(NaN)) // true console.log(arr.indexOf(NaN)) // -1 indexOf不能检测NaN
二、幂运算符(指数运算)
1、封装函数
// 运算2^10 function pow(x,y){ let res = 1 for(let i=0;i<y;i++){ res*=x } return res } console.log(pow(2,10)) // 1024
2、使用Math
console.log(Math.pow(2,10)) // 1024
3、幂运算符
console.log(2**10) // es7新特性
关于使用includes和indexOf情况
- 判断NaN是不是包含在数组中,只能用includes
- 只关心是否存在,不关心出现的位置,用includes
- 需要获取所在的下标,使用indexOf