參考
對(duì)象字面量
字面量提供一種簡(jiǎn)寫,我的理解是簡(jiǎn)寫定義一個(gè)屬性與屬性值都為字面量的對(duì)象试和。
而且支持計(jì)算屬性 直接用中括號(hào)將變量包含起來就可以直接使用僻弹。
var person = { [meteInfo] : {gender: 'male',age: '10'}};
ES6 的對(duì)象字面量方法簡(jiǎn)寫允許我們省略對(duì)象方法的function關(guān)鍵字及之后的冒號(hào)。
tips:簡(jiǎn)寫與計(jì)算屬性不能同時(shí)使用。
箭頭函數(shù)
不能命名房午,但可以賦值給一個(gè)變量。不能當(dāng)做構(gòu)造函數(shù)丹允。
沒有props屬性郭厌。不改變this的指向。
(參數(shù)1, 參數(shù)2, …, 參數(shù)N) => { 函數(shù)聲明 }
(參數(shù)1, 參數(shù)2, …, 參數(shù)N) => 表達(dá)式(單一)
//相當(dāng)于:(參數(shù)1, 參數(shù)2, …, 參數(shù)N) =>{ return 表達(dá)式; }
// 當(dāng)只有一個(gè)參數(shù)時(shí)雕蔽,圓括號(hào)是可選的:
單一參數(shù)) => {函數(shù)聲明}
單一參數(shù) => {函數(shù)聲明}
// 沒有參數(shù)的函數(shù)應(yīng)該寫成一對(duì)圓括號(hào)折柠。
() => {函數(shù)聲明}
tips:
參數(shù)或返回值為對(duì)象都必須用小括號(hào)包起來,不然會(huì)出現(xiàn)解析異常批狐。
有邏輯運(yùn)算符時(shí)扇售,也需要使用小括號(hào)提升運(yùn)算等級(jí)。
解構(gòu)賦值
- 解構(gòu)的語(yǔ)法是用花括號(hào){}
- 對(duì)象解構(gòu)嚣艇,使用var {name} = character; 可以直接獲取character中的類承冰。
- {}中還可以使用逗號(hào)表達(dá)式,引用多個(gè)屬性食零。還可以在變量后采用 : [別名]的方式取別名
- 解構(gòu)的值還可以是對(duì)象困乒,所以可以多層解構(gòu)。
- 解構(gòu)還可以使用默認(rèn)值贰谣。 var {gender = 'male'} = character; 如果對(duì)象中不存在則使用默認(rèn)值喻粹;
- 解構(gòu)可以使用計(jì)算屬性,但是必須命別名烹看,不然瀏覽器識(shí)別不了逛绵。
- 數(shù)組解構(gòu)類似對(duì)象解構(gòu),還可以在位置留白频伤,也可以只取部分?jǐn)?shù)據(jù)恳谎。
- 函數(shù)參數(shù)同樣可以解構(gòu)(一般會(huì)配置默認(rèn)值)。配合剩余參數(shù)可以很靈活的實(shí)現(xiàn)某些動(dòng)態(tài)傳參。
剩余參數(shù)rest與擴(kuò)展符
在最后的參數(shù)前面加... 既為剩余參數(shù)因痛。
function join(separator, ...list) {
return list.join(separator)
}
join('; ', 'first', 'second', 'third')
// <- 'first; second; third'
擴(kuò)展運(yùn)算符可以將任意枚舉對(duì)象轉(zhuǎn)成數(shù)組婚苹。
在對(duì)象前面加... 即使用擴(kuò)展運(yùn)算符將對(duì)象轉(zhuǎn)為了數(shù)組。
模板字符串
模板字符串采用反引號(hào),在模板字符串中可以使用${}包含表達(dá)式鸵膏。
var text = `This is my first template literal`
多行字符串直接包含在反引號(hào)中即可膊升。不會(huì)對(duì)/n 進(jìn)行解析。需要解析可以采用String.raw
var text = String.raw`"\n" is taken literally.
It'll be escaped instead of interpreted.`
console.log(text)
// "\n" is taken literally.
// It'll be escaped instead of interpreted.
let 和const聲明變量
- let與const不存在變量提升谭企。作用域?yàn)閧}塊作用域廓译。存在TDZ(Temporal Dead Zone),在聲明語(yǔ)句之前調(diào)用會(huì)報(bào)錯(cuò)。
- let與const的區(qū)別在于债查。const在聲明時(shí)必須賦初始值非区,且不可以更改,(可以更改值盹廷,不能更改引用)征绸。let則無此限制。
- 由于const的方式影響最小俄占,建議定義的一些共用變量采用const管怠。其他則用let替代var。
此處還有頂層對(duì)象和窗口對(duì)象缸榄,具體概念還是自己去看ES6入門吧.