JS解构赋值:数组解构和对象解构

一种为变量赋值的新语法,一次可以为多个变量赋值。

分成两种情况:

数组解构

let [变量的集合] = [正常的数组]

举例说明:

let [x, y, z] = [10, 16, 21];

上述代码中 x y z 为 3 个变量,右侧是一个正常的数组,数组的单元会被赋值给变量(按着顺序进行赋值),即 x = 10; y = 16; z = 21;

数组解构的特点:

  •  左边的变量与右边的数组单按着【顺序】对应
  •  如果在边数量多(变量个数多),右边单元值数量少多余的变量值为 undefined
  • 如果在边数量少(变量个数少),右边单元值数量多多出来数组单元“就浪费了”
  • 可以使用 ... 剩余的运算符号,将多出的数组单元来全部获取
let [a, b, ...c] = [3, 9, 11, 24, 26];

// console.log(c); // [11, 24, 26]
  • 如果左侧的变量被设置以 undefined 时,可以使用默认值

举例说明:

let [t, j, k, l = 8] = [4, 7, 1];

console.log(l); // 8

对象解构

let {变量的集合} = {正常的对象}

举例说明:

let { name, age } = { name: "阿尼亚", age: 6 };

name 和 age 就是变量名了,右侧的 name 属性与 name 变量对应age 属性与 age 变量对应,即属性名和变量名是一致的。

对象解构的特点:

  • 与顺序无关,只能属性名有关系

  • 如果变量名无法找到对应的属性,那么这个变量值为 undefined

举例说明:

let { password, gender, ...other } = {

    name: "阿尼亚",

    age: 6,

    gender: "女",

};

// 此时 password 值为 undefined
  • 如果对象的属性没有对应的变量名,这个对象属性就是多余的如上代码中的 name 和 age 就是多余的

  • 使用 ... 剩余的运算符可以将多余的对象属性单独获取

console.log(other); // {name: '阿尼亚', age: 6}
  • 如果变量被赋值为 undefined 时,可以使用默认值
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄昏终结者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值