變數的解構賦值(舉例)

2021-10-07 04:23:30 字數 1348 閱讀 8710

各種情況的解構+預設值情況

let

[a,b,c]=[

3,4,

5]//a=3 b=4 c=5

(巢狀模式也適用,只要可以對應)

let

[foo,

[[bar]

, baz]]=

[1,[

[2],

3]];

foo // 1

bar // 2

baz // 3

let[

,, third]=[

"foo"

,"bar"

,"baz"];

third // "baz"

let[x,

, y]=[

1,2,

3];x // 1

y // 3

let[head,

...tail]=[

1,2,

3,4]

;head // 1

tail // [2, 3, 4]

let[x, y,

...z]=[

'a']

;x // "a"

y // undefined

z //

let

=;

變數與屬性同名,才可以取到正確的值

const

[a, b, c, d, e]

='hello'

;a // "h"

b // "e"

c // "l"

d // "l"

e // "o

//陣列對應字串中內容

let=

'hello'

;len // 5

//對length 屬性進行解構

- 數值和布林值的解構賦值

let

=123

;s === number.prototype.tostring // true

let=

true

;s === boolean.prototype.tostring // true

//s為tostring函式

****理解:**將數值和布林值轉換為物件,然後將物件的方法解析給tostring

詳細解析參考**:

function

add(

[x, y]

)add([

1,2]

);// 3

變數解構賦值

1.從陣列物件中提取值,對變數進行賦值,被稱為結構。2.false,1,nan undefind null轉化為物件後不具備iterator介面,本身不具備iterator介面。3.set結構也可使用陣列的解構賦值,只需要資料機構具備iterator 迭代器 介面,都可以採用陣列形式的解構賦值 ar...

變數的解構賦值

從陣列和物件中提取值,對變數進行賦值,這被稱為解構 本質上,這種寫法屬於 模式匹配 只要等號兩邊的模式相同,左邊的變數就會被賦予對應的值 例子 let a,b,c 1,2,3 let foo,bar baz 1,2 3 foo 1 bar 2 baz 3 let third foo bar baz ...

變數的解構賦值

什麼是解構 es6允許按照一定的模式,從陣列或者物件中提取值,然後賦值給相應變數,此為解構。解構分為完全解構和不完全解構,前者要求一一對應,後者可以是等號左邊只匹配等號右邊的一部分。解構不成功會返回undefined。let foo alert foo undefined重點 不是只有陣列才可以解構...