JavaScriptEs6对象新增的方法:Object.assign()

JavaScriptEs6对象新增的方法:Object.assign()

基本用法:

ES6官方解释:Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

什么是可枚举属性?
在JavaScript中,对象的属性分为可枚举和不可枚举,它们是由属性的enumerable值决定的。可枚举性决定了这个属性能否被for…in查找遍历到。
具体怎么判断是否枚举、枚举的作用等等您还是问度娘吧

Object.assign(target,…sources)
该方法有两个参数,第一个参数就是目标对象,其它的参数是源对象,它的用法就是将源对象合并到目标对象,然会将目标对象返回

const obj1 = {
	a:1
};
const obj2 = {
	a:2
};
const obj3 = Object.assign{obj1,obj2};
console.log(obj3,obj1 === obj3); //{a:1,b:2} true
//这里obj1为什么和obj3相等呢?
//因为源对象将目标对象合并了,也就是说,目标对象被修改了
console.log(obj1); //{a:1,b:2}

为了防止目标对象被修改,可以将目标对象写成一个空对象{},还是上代码吧

const obj1 = {
	a:1
};
const obj2 = {
	a:2
};
const obj3 = Object.assign{{},obj1,obj2};
console.log(obj3,obj1 === obj3); //{a:1,b:2} false
console.log(obj1); //{a:1}

应用场景

  1. 给对象添加属性和方法
function Box(){

};
Object.assign(Box.protoType,{
	useName:"mw",
	run(){
		console.log(1,this.userNmae) //1 mw
	}
})
const box = new Box;
console.log(2,box.userName) //2 mw
run()
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值