ES6——魅力之‘解构赋值’

解构赋值——让声明更简单

基本格式:

let [a,b,c] = [1,2,3];
//相当于是:
let a = 1;
let  b = 2;
let  c = 3;

注意点

  1. 通常情况下左右解构要一致;(数组就是数组,json就是json,个别会有不一样,例如字符串
  2. 等号的右边必须有内容,而且必须合法(例如{1,2}就是非法的,非数组也非json);
  3. 声明和赋值必须在一句话内完成。(例如:let [a,b] ; [a,b] = [1,2] ; 就是错误的)

不完全解构的情况:

因为右边的值并没有被完全赋予左边变量,所以属于不完全解构

let [x,y] = [1,2,3];
x  //1;
y  //2;

字符串的解构:

当然也可以不完全解构

let [a,b,c,d,e] = 'hello';
a //h;
b //e
c  //l
d //l
e //o

当然如上都是结构赋值的基本格式

其常用作用总结如下:
1.交换变量;

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

2.函数执行之后,返回多个值(数组、对象),然后解构出来

let a = 1; 
let b = 2;
function aaa(a,b){
     return [a,b]
}
[x,y]=aaa(a,b)
console.log(x,y)      //1,2

3.从Json中提取数据

let data = {
   name:'san',
   num:[1,2],
   status:1
}
let {name,num:number,status} = data;
console.log(name,number,status)  //san   [1,2]  1

当然不止这些,更对的好的用途还是要在使用中发现

猜你喜欢

转载自blog.csdn.net/baidu_41604826/article/details/82862800