先看看數組解構:
function fn(){
return [1,2,3];
}
var [a,b,c] = fn();
console.log(a,b,c); // 1 2 3
var [d,,f] = fn();
console.log(d,f); //1 3
var [e,] = fu();
console.log(e); //1
假設有一個能夠返回對象的函數f :
function fn(){
return {
a:'1',
b:'2',
c:'3'
};
}
var {a:x,b:y,c:z} = fn();
console.log(x,y,z);
假如使用的變量名和被匹配的屬性名一樣,即 var {a:a,b:b,c:c} = fn();
那么可以簡寫為:
function fn(){
return {
a:'1',
b:'2',
c:'3'
};
}
var {a,b,c} = fn();
console.log(a,b,c);
錯誤寫法:
var {x:a,x:b,x:c} = fn();
console.log(x,y,z);
正確寫法
var {a:x,b:y,c:z} = fn();
console.log(x,y,z); // a b c
