ES6要會結構

2021-10-07 19:21:26 字數 2129 閱讀 6319

解構賦值是對賦值運算子的擴充套件。

他是一種針對陣列或者物件進行模式匹配,然後對其中的變數進行賦值。

在**書寫上簡潔且易讀,語義更加清晰明了;也方便了複雜物件中資料字段獲取。

在解構中,有下面兩部分參與:

解構的源,解構賦值表示式的右邊部分。

解構的目標,解構賦值表示式的左邊部分。

陣列模型的解構(array)

基本

let [a, b, c]=[

1,2,

3];// a = 1

// b = 2

// c = 3

可巢狀

let [a,

[[b]

, c]]=

[1,[

[2],

3]];

// a = 1

// b = 2

// c = 3

```swift

可忽略let [a,

, b]=[

1,2,

3];// a = 1

// b = 3

不完全解構

let [a =

1, b]=[

];// a = 1, b = undefined

剩餘運算子

let [a,..

.b]=[1

,2,3

];//a = 1

//b = [2, 3]

字串等

在陣列的解構中,解構的目標若為可遍歷物件,皆可進行解構賦值。可遍歷物件即實現 iterator 介面的資料。

let [a, b, c, d, e]

='hello'

;// a = 'h'

// b = 'e'

// c = 'l'

// d = 'l'

// e = 'o'

//解構預設值

let [a =2]

=[undefined]

;// a = 2

//當解構模式有匹配結果,且匹配結果是 undefined 時,會觸發預設值作為返回結果。

let [a =

3, b = a]=[

];// a = 3, b = 3

let [a =

3, b = a]=[

1];// a = 1, b = 1

let [a =

3, b = a]=[

1,2]

;// a = 1, b = 2

a 與 b 匹配結果為 undefined ,觸發預設值:a =

3; b = a =

3a 正常解構賦值,匹配結果:a =

1,b 匹配結果 undefined ,觸發預設值:b = a =

1a 與 b 正常解構賦值,匹配結果:a =

1,b =

2

基本

let =;

// foo = 'aaa'

// bar = 'bbb'

let =;

// foo = 'ddd'

可巢狀可忽略

let obj =]}

;let ]}

= obj;

// x = 'hello'

// y = 'world'

let obj =]}

;let ]}

= obj;

// x = 'hello'

不完全解構

let obj =]}

;let

, x ]

}= obj;

// x = undefined

// y = 'world'

剩餘運算子

let =;

// a = 10

// b = 20

// rest =

解構預設值

let =;

// a = 3; b = 5;

let =;

// aa = 3; bb = 5;

ES6系列 ES6簡介

2015年6月17日,ecmascript的第六個版本正式發布,該版本正式名稱為ecmascript 2015,但通常被稱為ecmascript 6或者es6。瀏覽器對es6的支援情況 es6主要應用於node.js,如果想用在瀏覽器中,就需要使用轉碼器 將es6 轉成es5 這意味著,可以用es6...

ES6 資料結構)

一 set 用法 set 對陣列進行轉化 新增重複元素不會生效 應用 去重複功能 轉化過程不會有資料型別的轉換 新增 刪除 判斷是否存在的方法 讀取 遍歷 的幾種方法 二 weakset 與set的區別 1.weakset 的元素只能是物件 2.weakset 的物件是弱應用 不會檢測是否在其他中用...

ES6的陣列結構賦值

es允許按照一定模式,從事狐族和物件中提取值,對變數進行賦值。這被稱之為結構。通常,我們賦值一般都會採用以下的這種方式 var a 3 var b string es6寫法 var a,b 3,string 下面是以巢狀陣列賦值的例子 let a,b,c name age a name b c ag...