定义
什么是解构赋值:将数组中的元素,字符串中的字符,对象中的属性分解成一个一个的变量
数组类
// 数组
let arr = [1, 2, 3, 4, 5]
console.log(arr[1]);
// 完成解构
let [a, b, c, d, e] = [1, 2, 3, 4, 5]
console.log(b);
console.log(d);
// 不完全解构
// let [x, y, z] = arr
// console.log(x, y, z);
// 赋初值
let [x, y, z, m, n, o = 6] = arr
console.log(x, y, z, m, n, o);
// 嵌套
let [j, k, [q, w]] = [6, 7, [0, 1]]
console.log(q, w);
字符串类
// 字符串
let str = '我们爱学习'
console.log(str[1]);
console.log(str.charAt(1));
console.log(str.slice(1, 2));
console.log(str.substring(1, 2));
console.log(str.substr(1, 1));
let [g, h] = str
console.log(h);
对象类
// 对象
var obj = {
name: 'zs',
age: 19,
color: "red",
size: 100,
object: {
x: 1, y: 2
}
}
console.log(obj.color);
// 解构赋值 属性名必须对应
var { name, age, color, size } = obj
console.log(age);
console.log(size);
// 赋初值 不完全解构
var { color, color1 = 'green' } = obj
console.log(color, color1);