// 数组结构的解构赋值
// 基本
// let [a, b, c] = [1, 2, 3];
// console.log(a,b,c);
// 可嵌套
// let [a, [[b], c]] = [1, [[2], 3]];
// console.log(a,b,c);//a=1,b=2,c=3
// 可忽略
// let [a, , b] = [1, 2, 3];
// console.log(a,b);//a=1,b=3
// 不完全解构
// let [a = 1, b] = [];
// console.log(a,b);//a=1,b=undefined
// 剩余运算符
// let [a, ...b] = [1, 2, 3];
// console.log(a,b);//a=1,b=2,3
// 字符串
// let [a, b, c, d, e] = 'hello';
// console.log(a, b, c, d, e);//a=h,b=e,c=l,d=l,e=o
// 解构默认值,当解构模式的匹配结果是 undefined 时,会触发默认值作为返回结果。
// let [a = 2] = [undefined];
// console.log(a);//a=2
// 对象模型的解构
// 1.基本
// let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
// let { baz : foo } = { baz : 'ddd' };
// console.log( foo, bar);
// console.log( foo);//ddd
// 可嵌套可忽略
// let obj = { p: ['hello', { y: 'world' }] };
// let { p: [x, { y }] } = obj;
// console.log( x,y); // x = 'hello', y = 'world'
// let obj = { p: ['hello', { y: 'world' }] };
// let { p: [x, { }] } = obj;
// console.log(x);// x = 'hello'
// 不完全解构
// let obj = { p: [{ y: 'world' }] };
// let { p: [{ y }, x] } = obj;
// console.log(x);//undefined
// 剩余运算符
// let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};
// console.log(a,b,rest);//a=10, b=20,rest=30,40
// 解构默认值,当未给变量赋值时,触发默认值
// let { a = 10, b = 5 } = { a: 3 };
// console.log(a,b); // a = 3; b = 5;
let { a: aa = 10, b: bb = 5 } = { a: 3 };
console.log(aa,bb);// aa = 3; bb = 5;
浅谈解构赋值
最新推荐文章于 2024-10-05 01:22:45 发布