解构赋值(1)

数组解构赋值

let a,b,c;

[a,b] = [1,2]//a=1;b=2;

..

let a,b,c;

[a,b,c=3] = [1,2]//a=1;b=2,c=3;

..

let a,b,c;

[a,b,c] = [1,2]//a=1;b=2,c=undefined;

..

let a = 1;let b = 2;

[a,b]=[b,a]//变量交换值

..

function f(){//使用场景

   return [1,2]

}

[a,b]=f();

..

function f(){//使用场景,返回多个值,选择性接收变量

   return [1,2,3,4,5]

}

let a,b,c;

[a,,,b]=f();//a=1,b=4

..

function f(){//使用场景,不确定返回值的多少

   return [1,2,3,4,5]

}

let a,b,c;

[a,,...b]=f();//a=1,b=[3,4,5]

..

let a,b,c;

[a,b,...c] = [1,2,3,4,5,6]//a=1;b=2;c=[3,4,5,6]

............

对象解构赋值

let a,b;

({a,b}={a:1,b:2})//a=1;b=2;

..

let o = {p:42,q:true}

let {p,q} = o;//p=42,q=true

..

let {a=10,b=5}={a:3};//a=3,b=5

..

let a ={//运用场景,后台返回json数据

  title:'abc',

  test:[{

    title:'test

  }]

}

let {title:t1,test:[{title:t2}]}=a;//t1='abc';t2='test'

原文地址:https://www.cnblogs.com/92xcd/p/8056390.html