物件和陣列的解構,rest操作符

2021-10-09 20:45:53 字數 1273 閱讀 1763

1.陣列的解構賦值

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"];

thrid //"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//

如果解構不成功,變數的值為undfined

let

[x, y]=[

1];let

[y]=

;//解構不成功,y都是undfined

不完全解構

let

[x,y]=[

1,2,

3]x//1

y//2

即為當左邊的變數多,則是解構不成功

當右邊的值多。則是不完全解構

2.物件的解構賦值

let=;

foo //'aaa'

bar //'bbb'

let=;

foo //'aaa'

bar //'bbb'

let=

;baz//undefined

等號左邊的兩個變數的次序與等號右邊的兩個同名屬性的次序不一致,但是對取值無影響

若變數名無對應的同名屬性,則取不到值,最後等於undefined

若變數名與屬性名不一致,必須寫成下面這樣

let

=baz//'aaa'

解構巢狀解構的物件

let]}

=]};

x//'hello'

y//'world'

python使用in操作符時元組和陣列的區別分析

在python中可以使用in符號判斷指定的元素是否存在於列表中,但我發現元組和陣列存在區別,下面是詳細實驗結果。jb51.net in haotu.net jb51.net true 程式設計客棧 jb51.net in haotu.net jb51.net true jb51.net in jb5...

ES2015 延展操作符 解構

延展操作符 let showme name,age 的年齡是 let me daichen 18 alert showme me 此時認為me 就是 name引數 let showme name,age 的年齡是 let me daichen 18 alert showme me 此時me陣列裡的數...

陣列操作符過載

c 裡面也可使用陣列運算操作符 例如 1 include 2 include 34 using namespace std 56 intmain 717 1819 cout n 2021 return0 22 但是不是我們定義 了乙個類後,就可以使用陣列訪問操作符了呢?被忽略的事實 陣列訪問符是c ...