es6--解构赋值
2021-06-10 本文已影响0人
lvyweb
基本概念
- 解构赋值:是对赋值运算符的一种扩展
- 针对数组和对象进行操作
- 优点: 代码书写上简单易读
简单的例子
let node = {
type:'iden',
name:'foo'
}
// es5取值
// let type = node.type;
// let name = node.name;
// es6取值 完全解构
let {type,name} = node;
console.log(type,name);//iden foo
复杂的例子
//不完全解构,可以忽略某些属性
let obj = {
a:{
name:'张三'
},
b:[],
c:'hello lvy'
}
let {a} = obj;
console.log(a)//{name: "张三"}
//剩余运算符
let {a,...res} = obj;
console.log(res)//{b: Array(0), c: "hello lvy"}
//也可以用默认值
let {a,b=30} = {a:20}
对数组解构
let arr = [1,2,3];
let[a,b,c] = arr;
console.log(a,b,c);// 1 2 3
可嵌套解构
let [a,[b],c] = [1,[2],3];
console.log(a,b,c)