实现 Object.assign
作者:
lio_zero | 来源:发表于
2022-05-25 16:14 被阅读0次
Object.assign()
方法将所有可枚举(Object.propertyIsEnumerable()
返回 true)和自有(Object.hasOwnProperty()
返回 true)属性从一个或多个源对象复制到目标对象,返回修改后的对象。
- 目标对象不能是
null
或 undefined
,否则将抛出错误
- 源对象可有多个,使用剩余运算符收集,通过循环判断每个对象的是否为自身属性,添加到目标对象。
Object.myAssign = function (target, ...source) {
if (target == null) {
throw new TypeError('Cannot convert undefined or null to object')
}
let ret = Object(target)
source.forEach((obj) => {
if (obj != null) {
for (let key in obj) {
if (obj.hasOwnProperty(key)) {
ret[key] = obj[key]
}
}
}
})
return ret
}
本文标题:实现 Object.assign
本文链接:https://www.haomeiwen.com/subject/sphlprtx.html
网友评论