前一段時間小編一直在更新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