【ES6】赋值解构的个人新认知

我在之前那篇useState的文章里面写过简单数据结构的解构出来是全新的变量,不会相互影响
然后现在去实践了复杂类型

结论如下
ES6的赋值解构新认知
对于obj和array这种复杂类型
obj在解构出来的时候,必须要名字一致,
array的话,则是根据index的顺序来解构的,可以不用名字一样
这两个结构出来的都是引用类型,所以修改里面的是会对原数据进行修改的

对于简单数据类型
比如
  let a = 1, b = 2, c = 3
  let nums = [a, b, c]
  let [d, e, f] = nums
  d = d + 1
  这样是不会改变a的,是两个完全不同的数据

三段代码,可供自行测试

对象形式

let a1 = {
  a: {
    name: 'lisi',
    age: 12
  },
  b: {
    name: '张三',
    age: 13
  }
}

let { a, b } = a1
console.log(a);
console.log(b);
console.log(a1);
a.name = '李四'
console.log(a);
console.log(a1);

在这里插入图片描述

数组形式

let b1 = [{
  name: 'lisi',
  age: 12
}, {
  name: '张三',
  age: 13
}]

let [c,d] = b1
console.log(c);
console.log(d);
console.log(b1);
c.name='李四'
console.log(c);
console.log(b1);

在这里插入图片描述

数值

let a = 1, b = 2, c = 3
let nums = [a, b, c]
let [d, e, f] = nums
console.log(d);
console.log(a);
d = d + 1
console.log(d);
console.log(a);

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值