说明
ES6 从入门到精通系列(全23讲)学习笔记。
解构赋值
解构赋值是对赋值运算符的一种拓展,它针对数组和对象来进行操作。
优点:代码书写上简单易读
let man = {
name: "kaimo",
value: 313
}
// es5
let name = man.name;
let value = man.value;
// es6 完全解构
let { name, value } = man;
console.log(name, value)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5SNyYDOxMjM5kTO1QjY5MmZyYzX5QTOzUTM3EzLchDMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
let obj = {
a: {
name: "kaimo"
},
b: [],
c: "hello cat"
}
// 不完全解构
let { a } = obj;
console.log(a);
// 剩余运算符
let { a, ...res } = obj;
console.log(a, res)
// 默认值
let { a, b = 30 } = { a: 20 };
对数组解构
let arr = [1, 2, 3];
let [a, b, c] = arr;
console.log(a, b, c);
// 可嵌套
let [a, [b], c] = [1, [2], 3];
console.log(a, b, c);