JavaScript-解构赋值

本文详细介绍了JavaScript中的数组解构、变量多值少、变量少值多、按需取值、剩余值等解构赋值用法,并通过实例展示了如何进行对象解构,包括对象属性赋值、按需取值及默认值设置。同时,讲解了对象中找不到匹配属性时变量的值为undefined,以及如何设置变量的默认值。
摘要由CSDN通过智能技术生成

数组解构

数组解构是将数组的单元值快速批量赋值给一系列变量的简洁语法

 // **********数组解构************
    let arr = [1, 2, 3];
    let [a, b, c] = arr;

    let [a, b, c] = [1, 2, 3];
    console.log(a); // 1
    console.log(b); // 2
    console.log(c); // 3

    // **********变量多值少************
    let [a, b, c, d, e, f] = [1, 2, 3];
    console.log(a); // 1
    console.log(b); // 2
    console.log(c); // 3
    // **********变量少值多************
    let [a, b, c] = [1, 2, 3, 4, 5];
    console.log(a); // 1
    console.log(b); // 2
    console.log(c); // 3
    //  **********按需取值************
    let [a, , b, , c] = [1, 2, 3, 4, 5];
    console.log(a); // 1
    console.log(b); // 3
    console.log(c); // 5
    // **********剩余值************
    let [a, b, ...c] = [1, 2, 3, 4, 5];
    console.log(a); // 1
    console.log(b); // 3
    console.log(c); // 5
    // ***************二维****************
    let arr = [1, 2, 3, [4, 5, 6]];
    let [a, , b, [, c]] = arr;
    console.log(a, b, c);

一一对应!!!!

对象解构

   let uname = "xixi"; //报错
    let { age, uname: username } = {
      uname: "haha",
      age: "19",
      sex: "男",
    };
    console.log(age, uname);

    let {dog:{name,age}}={//对象属性的值将被赋值给与属性名相同的变量
      uname: "haha",
      age: "19",
      sex: "男",
      dog:{
        name:'da',
        age:'1',
      },
     cat:{
       name='xiao',
       age:'12'
     }
    }

注意:

  1. 赋值运算符 = 左侧的 {} 用于批量声明变量,右侧对象的属性值将被赋值给左侧的变量
  2. 对象属性的值将被赋值给与属性名相同的变量
  3. 对象中找不到与变量名一致的属性时变量值为 undefined
  4. 允许初始化变量的默认值,属性不存在或单元值为 undefined 时默认值才会生效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值