结构赋值。

解构赋值
1 左右两边结构必须一样
2 右边必须是个东西
3 声明和赋值 不能分开(必须在一句话里面完成)

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

let { x, y, z } = { x: 1, y: 2, z: 3 }
console.log(x, y, z)

let [{ d, e }, [n1, n2, n3], num1, str1] = [{
  d: 12, e: 5
},
[12, 5, 8],
  8,
  'hei'
]
console.log(d, e, n1, n2, n3, num1, str1);

let [json, arr, num, str] = [{ a: 1, b: 2 }, [1, 2, 3], 8, 'str']
console.log(json, arr, num, str)
let obj = { person: { name: '羽神' }, sex: '女' };
let { person: { name }, sex } = obj;  // 连续结构赋值
console.log(name, sex);

let { person: { name: YsName } } = obj;  // 连续结构赋值加更改属性名称
console.log(YsName);

数组对象解构

我们经常使用 ES6 的解构,对于一个数组,每项都是一个对象,如果想获得数组第一项的对象的某个值,可以这样写

const person = [
    {
        name: "yus",
        age: 18,
    },
    {
        name: "sz",
        age: 22,
    },
    {
        name: "lb",
        age: 30,
    }
];

const [, , { age }] = person;  // ,作为占位符 没有 , 选择第一个 
console.log(age);  // 30

也可以采用逗号占位的方式指定一个项进行赋值;

const person = [
    {
        name: "yus",
        age: 18,
    },
    {
        name: "sz",
        age: 22,
    },
    {
        name: "lb",
        age: 30,
    }
];

const [, , arr3] = person;  // ,作为占位符 没有 , 选择第一个 
console.log(arr3);  // {name: "lb",age: 30,}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

臧小川

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

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

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

打赏作者

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

抵扣说明:

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

余额充值