ES7 新特性介紹

Array的新方法includes

相對(duì)于ES6中的indexOf,基本作用是一樣的,都是檢查一個(gè)元素是否存在于數(shù)組中,但是它返回的是一個(gè)布爾值。
includes()作用,是查找一個(gè)值在不在數(shù)組里,若是存在則返回true,不存在返回false.

  //基本用法。
  let arr = ["北京","上海","廣州"];
    arr.includes("北京");//true
    arr.includes("濟(jì)南");//false

  //接收兩個(gè)參數(shù):要搜索的值和搜索的開始索引。
  let arr = ["北京","上海","廣州"];
   arr.includes("上海");//true
   arr.includes("上海",1);//true
   arr.includes("上海",2);//false
  
  //與ES6中的indexOf()比較
  var arr = [1, 2, 3]
  var a = 1;
  arr.includes(a)   //true
  arr.indexOf(a)    //0

  //只能判斷簡(jiǎn)單類型的數(shù)據(jù),對(duì)于復(fù)雜類型的數(shù)據(jù),比如對(duì)象類型的數(shù)組,二維數(shù)組,這些,是無(wú)法判斷的。
  var arr = [1, [2, 3], 4]
   arr.includes([2, 3])   //false
   arr.indexOf([2, 3])    //-1

includes()返回的是布爾值,能直接判斷數(shù)組中存不存在這個(gè)值,而indexOf()返回的是索引,這一點(diǎn)上前者更加方便。
兩者都是采用===的操作符來(lái)作比較的,不同之處在于:對(duì)于NaN的處理結(jié)果不同。
我們知道js中 NaN === NaN 的結(jié)果是false,indexOf()也是這樣處理的,但是includes()不是這樣的。

  let arr= [1, NaN, 2, 3]
    arr.indexOf(NaN)        //-1
    arr.includes(NaN)       //true

求冪運(yùn)算符

  //基本用法
  3 ** 2  //9
  效果同
  Math.pow(3, 2) //9

  //由于是運(yùn)算符,所以可以和 +=一樣的用法
  var b = 3;
  b **= 2;
  console.log(b); //9
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容