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

posted @ 2020-01-09 17:23  本人小白  阅读(2496)  评论(0编辑  收藏  举报