浅谈解构赋值

// 数组结构的解构赋值
    // 基本
    // 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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值