先看看數組解構:
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