JS中的解构
先看看数组解构:
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

浙公网安备 33010602011771号