解構
解構分為兩中,一種為解,另外一種為構;通俗易懂的講就是解包、打包
// 原始包
const obj =
// 解包
const
= obj
// 打包
const
test=(
)=>
test
()
解包的情形及注意點
陣列的解包,佔位一一對應,超出則為undefined
let
[a,[b]
, d]=[
1,[2
,3],
4];a // 1
b // 2
d // 4
物件的解包:
let=;
foo // "aaa"
bar // "bbb"
let=
;fo // "aaa"
ba // "bbb"
map的解包
const map =
newmap()
;// map結構存在iterator介面,因此可以for ...of
map.
set(
'first'
,'hello');
map.
set(
'second'
,'world');
for(
let[key, value]
of map)
// first is hello
// second is world
注意:圓括號的使用情形【當並不是宣告變數,同時也進行解構賦值時】
用途一、值得交換
let x =1;
let y =2;
[x, y]
=[y, x]
;
二、傳參
const
test=(
)=>
test
()
三、取值【json/物件】
const
delay=(
)=>
}const
=delay
()
四、函式預設值
const
delay=(
)=>
}const
=delay
()
五、遍歷map結構
const map =
newmap()
map.
set(
'first'
,'value'
)map.
set(
'second'
,'value'
)for
(const
[key, value]
of map)
陣列的擴充套件 ES6重刷08
在此我會著重講擴充套件運算子 三點運算子 結合對於陣列的一些便捷操作及深拷貝 其次講講array例項的某些新的方法及注意事項 略帶iterator介面個返回值為iterator遍歷器物件的genrator函式function 最後講講哪些資料結構存在內建部署的iterator介面,而對於沒有內建部署...
物件的擴充套件 ES6重刷09
物件擴充套件 一 屬性簡潔表示 const a a constb b const obj console.log obj 二 屬性名表示式 let obj const variable b obj.a a obj variable b console.log obj 三 屬性特性 可配置性 conf...
Class的繼承 ES6重刷21
關於class繼承方面的記錄,我依舊會按照阮老師在es6書中class的繼承這一章節的目錄,將自己的感想記錄下來。一 簡介 先來欣賞下es5和es6實現繼承的一般方法 es5做法 直接操控原型鏈實現繼承,極其不靈活,還易錯 function mankind object.assign mankind...