ES6数组和对象的解构

184 阅读1分钟

为什么要解构赋值:

因为JSON格式的普及,导致大量数据提取工作

解构赋值的两个写法:
1:分行解构
2:单行解构
// let info = ['Mr.Lee', 100, '男'];   //数组赋值
// let [name, age, gender] = info;     //数组解构赋值

// let info = ['Mr.Lee', 100, '男'],
          //  [name, age, gander] = info;//同上
          
                    //单行解构,以上均可输出name值
// let [name, age, gender] = ['Mr.Lee', 100, '男'];

对象解构:

对象的解构方式和数组大同小异,定义一个对象字面量,然后解构赋值。

// let obj = {
//     name : 'Mr.Lee',
//     age :100
// };
// let {name,age} = obj;

对象变量解构也可以设置一个默认值,在没有赋值时输出默认值

let {name, age, gander = '女'} = obj;
console.log(gander)   //如果没有默认值则undefined

如果不想要对象属性名作为解构变量,可以通过键值对的方式更改变量名;

let {name : myName, age : myage}=obg;   //name将失效

对象的解构也支持单行的简写模式,具体如下:

let {name, age} = {name : '1110', age : 100};  

ES6常用的解构:

ES6除了提供对象和数组解构外,还提供了很多适用的解构方案;

如果你想要让个普通变量的值进行交换,不必须要第三个变量的参与;

let key = 1;
let value = '111';

//解构操作,变量互换
[key,value] = [value,key];

console.log(key);
console.log(value);