解构赋值是对赋值运算符的扩展。
他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。
在代码书写上简洁且易读,语义更加清晰明了;也方便了复杂对象中数据字段获取。
1.数组的结构赋值
//数组
const arr = ['糖醋里脊', '锅包肉', '酸菜鱼', '鱼香肉丝'];
let [a, b, c, d] = arr;
2.对象的结构赋值
//对象
const lin = {
food: '川菜',
tags: ['麻辣鱼', '水煮肉', '黄花鱼', '笋尖炒肉']
};
let {food, tags} = lin;
3.混合类型的结构赋值
//复杂解构
let wangfei = {
name: '王菲',
age: 18,
songs: ['传奇', '因为爱情', '无问西东', '红豆'],
history: [
{name: '窦唯'},
{name: '李亚鹏'},
{name: '谢霆锋'} ]
};
let {songs: [one, two, three], history: [first, second, third]} =
wangfei;