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

原文地址:https://www.cnblogs.com/xiaohaodeboke/p/12172585.html