ES6 对象的一些常用API

01 .Object.assign 属性从一个或多个源对象复制到目标对象,返回修改后的对象。

PS:相同的值会被覆盖掉

js中两种变量类型

值类型
引用类型
对值类型很好理解,变量赋值如下

let a = 0;
let b = a;

// 这里a和b是两个变量
a = 100
console.log(a, b)
// 分别打印 100, 0
引用类型(或者指针类型),js中的对象就是引用类型。

我一般通过,Object.assign或者JSON.stringify来赋值新的对象变量

但是这两种方式都是有要注意的地方

let a = {name:"programer",sex:0}
let b = a
这种方式不是两个变量,本质上是一个,因为这两个变量操作的是同一个内存地址。

// 当a或b中的任一修改,两个变量同步修改
a.name = "actor"

console.log(a.name, b.name)
// 都会打印actore
接下来说一下Object.assign(参数1,参数2,[....])

const target = { a: 1, b: 2 };
const source = { b: 4, c: 5 };

const returnedTarget = Object.assign(target, source);

console.log(target);
// expected output: Object { a: 1, b: 4, c: 5 }

console.log(returnedTarget);
// expected output: Object { a: 1, b: 4, c: 5 }

console.log(source)
// expected output: Object { b:4, c:5 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值