赋值与解构

1. 赋值

let person = {
  age: 18,
  name: "张三",
  friends: ["王麻子"],
};
// 将引用类型数据赋值给新的变量(浅拷贝) 修改会影响到源数据
let shallowFriends = person.friends; // 浅拷贝
shallowFriends.push("李四");
console.log(person.friends); // [ '王麻子', '李四' ]
// 通过JSON.parse(JSON.stringify())实现深拷贝 修改不会影响到源数据
let deepFriends = JSON.parse(JSON.stringify(person.friends)); // 深拷贝
deepFriends.push("王五");
console.log(person.friends); // [ '王麻子', '李四' ]
// 将基本类型数据赋值给新的变量(深拷贝)
let newAge = person.age;
newAge = 20;
console.log(person.age); // 18

 2. 解构

普通解构(不存在引用关系)

let { age } = person;
age = 20; // 修改不会影响源数据
console.log(person.age); // 18

Vue中使用 Torefs 解构响应式数据(解构出的数据为响应式数据且修改时会影响源数据,源数据发生变化其值也会随之变化 ==> 解构出的变量等同于源数据中的变量)

const { page, pages, items } = toRefs(
    subTypes.value[activeTabIndex.value].goodsItems,
  )
page.value = 2  // 会影响subTypes中的数据

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值