// 对象的解构语法
// 把对象中,属性/键名/键 存储的 属性值/键值/值 解构出来,赋值给变量存储
// const obj = { name:'张三',age:18,sex:'男' };
// 语法形式1
// 变量名称与键名必须相同
// 通过 键名 获取 数组中的数据,存储在名称相同的变量名称中
// let { name , age , sex } = obj;
// console.log( name , age , sex );
// 语法形式2
// 添加别名,也就是以别名作为变量名称,存储对象中,对应键名的数据
// 以键名 name,age,sex在obj 对象中调用数据
// 将数组存储在别名 n a s 中
// n,a,s 就是 存储对象中数据的变量名称
// let {name:n , age:a , sex:s} = obj
// console.log(n,a,s);
// 对象中存储对象或者数组
// const obj2 = {name:'张三', o : {age:18,sex:'男'} };
// n2 存储 name键名对应数据 张三
// o2 存储 o 键名对应数据 对象 {age:18,sex:'男'}
// 02 中存储的对象可以进一步结构
// let { name:n2 , o : o2 } = obj2;
// let { name:n2 , o : { age : a2 , sex : s2} } = obj2;
// console.log(n2,a2,s2);
const obj3 = {name:'张三' , arr : [1,2,3,4]};
let {name:n3 , arr: [a,b,c,d] } = obj3;
console.log(n3,a,b,c,d);
// 总结:
// 数组结构用 [] 对象结构用 {}
// 数组结构直接定义变量成名
// 对象结构,先写键名,不写别名,变量名称就是键名,定义别名,别名就是变量名称
// 一层数组,对应一个[]
// 一层对象,对应一个{}