我是靠谱客的博主 优雅犀牛,这篇文章主要介绍JavaScriptEs6对象新增的方法:Object.assign()JavaScriptEs6对象新增的方法:Object.assign(),现在分享给大家,希望可以做个参考。

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

基本用法:

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

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

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

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
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}

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

复制代码
1
2
3
4
5
6
7
8
9
10
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. 给对象添加属性和方法
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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()

最后

以上就是优雅犀牛最近收集整理的关于JavaScriptEs6对象新增的方法:Object.assign()JavaScriptEs6对象新增的方法:Object.assign()的全部内容,更多相关JavaScriptEs6对象新增内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(82)

评论列表共有 0 条评论

立即
投稿
返回
顶部