變數的解構 ES6重刷02

2021-09-19 10:08:44 字數 1554 閱讀 3320

解構

解構分為兩中,一種為解,另外一種為構;通俗易懂的講就是解包、打包

// 原始包

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...