第二节:ES7 新增的 includes 特性
這一節(jié),我們就來(lái)學(xué)習(xí)ES7的第一個(gè)新特性:數(shù)組中includes特性。
在講解它之前,我們來(lái)回憶一下。以前,我們要檢測(cè)一個(gè)數(shù)組中是否包含某個(gè)元素,你可以使用??indexOf( )?函數(shù)。
?
1.傳統(tǒng)實(shí)現(xiàn)方式
但我們知道,?indexOf( )?的返回結(jié)果頗為尷尬,它不會(huì)直接告訴你數(shù)組中是否包含了指定的元素,而是返回?cái)?shù)組。當(dāng)數(shù)組包含指定元素的時(shí)候,就會(huì)返回該元素所在的位置,否則,返回:-1。
因此,我們不得不去多做一層判斷:
?//以前的實(shí)現(xiàn)方式
?let arr = ['hi','hello'];
?//判斷結(jié)果是否等于 -1
?if(arr.indexOf('hi') === -1){
? ?? console.log('不包含');
?}else{
? ?? console.log('包含');
?}
?//結(jié)果:包含
2.ES7的includes特性
如今在ES7中,我們可以使用includes新特性來(lái)直接判斷,使用方式很簡(jiǎn)單,如下:
?//ES7寫(xiě)法
?let arr = ['hi','hello'];
?arr.includes('hello'); //true
?arr.includes('hello world'); //false
?includes( )?方法會(huì)返回布爾值:true或者false,方便你用于做判斷。
3.在字符串中使用
此外,除了在數(shù)組中使用includes,你也可以用在字符串中使用。
?//ES7寫(xiě)法
?let words = 'hello world';
?if(words.includes('hello')){
??? console.log('包含');
?}else{
??? console.log('不包含');
?}
?includes( )?方法在數(shù)組和字符串中的用法一樣,十分簡(jiǎn)單。有了這個(gè)新特性,我們?cè)趯?shí)現(xiàn)相關(guān)功能的時(shí)候,代碼會(huì)更加簡(jiǎn)潔和優(yōu)雅。
4.小結(jié)?
includes新特性增強(qiáng)了可讀性語(yǔ)義化,給開(kāi)發(fā)者返回布爾值來(lái)判斷匹配元素是否存在,而不是匹配的位置。掌握ES7新增的includes新特性的使用方式,了解它的適用場(chǎng)景。
下一節(jié),我們來(lái)學(xué)習(xí)ES7中另一個(gè)新特性:Exponentiation Operator(求冥運(yùn)算) 。
熱門(mén)文章
原創(chuàng)教程
?原創(chuàng)教程:《ECMAScript 6 教程》
?附加習(xí)題:《ECMAScript 6 教程》測(cè)試題
?原創(chuàng)教程:《Vue2.0基礎(chǔ)教程》
?原創(chuàng)教程:《Vue2.0進(jìn)階教程》
?附加習(xí)題:《Vue2.0基礎(chǔ)教程》測(cè)試題
趣味職場(chǎng)
?職場(chǎng)感悟:混口飯吃,談不上喜歡
?感到迷茫:我很努力,但依然很迷茫
?薪資待遇:那么點(diǎn)工資,能招到人嗎?
?培訓(xùn)出身:我是一個(gè)培訓(xùn)出身的程序員
?培訓(xùn)費(fèi)用:花1.8萬(wàn)參加前端培訓(xùn),值嗎?
?培訓(xùn)簡(jiǎn)歷:簡(jiǎn)歷包裝成1-2年經(jīng)驗(yàn),咋辦?
?搞笑黑話(huà):互聯(lián)網(wǎng)公司黑話(huà),搞笑到爆
?職業(yè)自由:程序員職業(yè)自由的6個(gè)階段
?職場(chǎng)形象:在別人眼里,程序員是這樣的
我是一條分割線
總結(jié)
以上是生活随笔為你收集整理的第二节:ES7 新增的 includes 特性的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《应试教育洗礼的“好”学生的学习行为特征
- 下一篇: A humble heart2019-1