为什么要解构赋值:
因为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);