ES6解构赋值的应用场景

一、变量交换

1.ES6的方式

{
  let a=1;
  let b=2;
  [a,b]=[b,a];
  console.log(a,b);
}

输出为

2  1

2.ES5的方式

采用中间变量的方式进行存储

二、获取函数返回值是数组的情况

1.ES6

{
  function f(){
    return [1,2]
  }
  let a,b;
  [a,b]=f();
  console.log(a,b);
}

输出为

1 2

2.ES5

先给一个变量获取函数的返回结果,再按索引获取两个值

三、返回多个值,选择性的接受某几个变量

1.ES6

{
  function f(){
    return [1,2,3,4,5]
  }
  let a,b,c;
  [a,,,b]=f();
  console.log(a,b);
}

输出为

1 4

2.ES5

先给一个变量获取函数的返回结果,再按索引获取两个值

四、不知道函数返回的数组的长度是多少,只关心第一个,其余的放到一个数组中

1.ES6

{
  function f(){
    return [1,2,3,4,5]
  }
  let a,b,c;
  [a,...b]=f();
  console.log(a,b);
}

输出为

1  [2,3,4,5]

2.ES5

先给一个变量获取函数的返回结果,再按索引操作

原文地址:https://www.cnblogs.com/knyel/p/7833901.html