書寫方法
1.左右結構一致
2.聲明與賦值在一句話內
數組解構賦值
let [a,b,c]=[1,2,3]
console.log(a,b,c) //1,2,3
json解構賦值
let {a,b,c}={a:12,b:13,c:14}
console.log(a,b,c) //12,13,14
粒度控制
let [json,arr,[a,b]]=[{e:5,f:7},[2,13,4],[90,91]]
console.log(json,arr,a,b) //{e:5,f:7} [2,13,4] 90 91
特殊情況
只有當y對應的值===undefined時,y才會取默認值
let [x,y='b']=['a']
//y:'b'
let [x,y='b']=['a',null]
//y:'null'
let [x,y='b']=['a',void,0]
//y:'b'(void (0)===undifined返回true)
let [x,y='b']=['a',0]
//y:0
默認參數
function(z,f='a'){console.log(f)}
foo('n',null)//'a'
解構賦值的作用
- 獲取對象的屬性/方法
或者
書寫方法
1.左右結構一致
2.聲明與賦值在一句話內
數組解構賦值
let [a,b,c]=[1,2,3]
console.log(a,b,c) //1,2,3
json解構賦值
let {a,b,c}={a:12,b:13,c:14}
console.log(a,b,c) //12,13,14
粒度控制
let [json,arr,[a,b]]=[{e:5,f:7},[2,13,4],[90,91]]
console.log(json,arr,a,b) //{e:5,f:7} [2,13,4] 90 91
特殊情況
只有當y對應的值===undefined時,y才會取默認值
let [x,y='b']=['a']
//y:'b'
let [x,y='b']=['a',null]
//y:'null'
let [x,y='b']=['a',void,0]
//y:'b'(void (0)===undifined返回true)
let [x,y='b']=['a',0]
//y:0
默認參數
function(z,f='a'){console.log(f)}
foo('n',null)//'a'
解構賦值的作用
- 獲取對象的屬性/方法
或者
等效于