ES6基础一
?聲明方式
var和let的區(qū)別
1,var用來(lái)聲明全局變量,let用來(lái)聲明局部變量:
? ?
? ?
??
??
2,var可以提升變量,let聲明的變量不在變量提升:
??
? ?
?const聲明常量
? ?
變量解構(gòu)賦值
?ES6允許按照一定模式,從數(shù)組和對(duì)象中提取值,對(duì)變量進(jìn)行賦值,這被稱為解構(gòu)。
數(shù)組解構(gòu)賦值
例如上面要為三個(gè)變量賦值,我們就可以使用變量解構(gòu)賦值:
? ?
在使用數(shù)組解構(gòu)的時(shí)候,個(gè)數(shù)可以不一致,但是格式需要保持一致:
? ?
??
??
??
??
對(duì)象解構(gòu)賦值
數(shù)組是按照順序進(jìn)行賦值的,所以需要保持左右兩邊形式一致;而對(duì)象的屬性沒有次序,變量必須與屬性同名,才能取到正確的值。
?? ?
??
如果在解構(gòu)之前就定義了變量,這時(shí)候你再解構(gòu)會(huì)出現(xiàn)問(wèn)題,需要在解構(gòu)的語(yǔ)句外邊加一個(gè)圓括號(hào):
?? ?
??
默認(rèn)值
?解構(gòu)賦值是允許我們使用默認(rèn)值的:
?? ?
? ?
??
undefined和null的區(qū)別
?undefined相當(dāng)于什么都沒有,能接受默認(rèn)值;null相當(dāng)于有值,但值為null
?? ?
??
...運(yùn)算符
對(duì)象擴(kuò)展運(yùn)算符(…)
?當(dāng)編寫一個(gè)方法時(shí),如果使用對(duì)象擴(kuò)展運(yùn)算符來(lái)作參數(shù),就能允許它傳入的參數(shù)是不確定的:
??
拷貝賦值
???
上面這種情況在剛學(xué)習(xí)js的時(shí)候是常常會(huì)碰見的,因?yàn)槲覀冞@是對(duì)內(nèi)存堆棧的引用,而不是真正的賦值,如果我們希望這個(gè)時(shí)候只改變數(shù)組b而不改變a,可以使用下面的方法:
?
但是使用了對(duì)象擴(kuò)展運(yùn)算符之后,就可以使用下面這種方法:
??
??
rest運(yùn)算符(...)
?rest運(yùn)算符和對(duì)象擴(kuò)展運(yùn)算符有很多相似之處,下面列舉rest運(yùn)算符的簡(jiǎn)單用法:
???
字符串模板
?字符串拼接
在ES5中,我們會(huì)采用下面的方式進(jìn)行字符串拼接:
??
在ES6中,我們可以使用字符串模板拼接字符串,并且還支持html標(biāo)簽:
??
字符串查找
?在ES5中,我們可以利用indexOf的返回值,來(lái)判斷字符串中是否包括某個(gè)字符,在獲取結(jié)果后還需要再進(jìn)行一次判斷。
??
在ES6中,可以通過(guò)includes直接進(jìn)行判斷了,并且還可以通過(guò)startsWith和endsWith來(lái)判斷開頭和結(jié)束為止的判斷:
? ??
?
轉(zhuǎn)載于:https://www.cnblogs.com/yuyujuan/p/10290705.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
- 上一篇: 8、Semantic-UI之其他按钮样式
- 下一篇: LeetCode10.正则表达式匹配 J