1
let
[a,b,c]=[
1,2,
[3,4
]];console.
log(a,b,c)
;
顯示 1,2,(2)[3,4]
2
let
[a,b,
[c]]=[
1,2,
[3,4
]];console.
log(a,b,c)
;
顯示 1,2,3
所以結構賦值不一定是完全對應的,可以是按順序對應一部分。
3
let
[a,b,c,d]=[
1,2,
[3,4
]];console.
log(a,b,c,d)
;
顯示1,2,(2)[3,4],undefined
4
let
[a,b,c,d =5]
=[1,
2,[3
,4]]
;console.
log(a,b,c,d)
;
顯示1,2,(2)[3,4],5
所以結構賦值可以有預設值,如果沒有傳入的值就用預設值。
1
let user =
;let
= user;
console.
log(name,age)
;
顯示cleon 22
2、取新名字
let
= user;
console.
log(uname,uage)
;
3、物件的預設值
和陣列裡的預設值一樣。
let user =
;let
= user;
console.
log(name,age)
;
let str =
'ich bin legende'
;let
[a,b,c,d,e]
= str;
console.
log(a,b,c,d,e)
;
顯示 i,c,h,空格,b
就是可以把乙個陣列給拆開,可以和rest引數比較按情況選方便的。
就是把乙個返回值解構成各個屬性或下標。
解構賦值 陣列的解構賦值
什麼是解構賦值?es6 允許按照一定模式,從陣列和物件中提取值,對變數進行賦值,這被稱為解構 destructuring 我的理解是 允許宣告一種模式 陣列 物件等 裡面包含乙個或多個變數,再分別對這些變數遍歷 按照對應位置 賦值。以前,為變數賦值,只能直接指定值。let a 1 let b 2 通...
幾個js的小例子
1 js的作用域,window物件 if a in window alert a 1 js的作用域是由函式劃分的 2 js的執行順序 var a 1,b function a x alert a 1 3 js引數 arguments 的含義 function b x,y,a b 1,2,3 10 4...
es6 解構賦值 的幾個注意點
1 結構不成功,變數值等於undefined let lzp let lt,lzp 1 以上兩種情況屬於結構不成功,lzp 的值都是 undefined 2 如果等號的右邊不是陣列,則會報錯 等號右邊的都不是陣列,所以都會報錯 let lzp 1 let lzp false let lzp nan ...