我厌倦了总是要写这样的代码:
function shallowExtend(obj1,obj2){
var key;
for ( key in obj2 ) {
if ( obj2.hasOwnProperty(key) === false ) continue;
obj1[key] = obj2[key]
}
}
或者,如果我不想亲自编写代码,可以实现一个已经完成此功能的库。肯定ES6+正在解决这个问题,并为我们提供像Object.prototype.extend(obj2...)
或Object.extend(obj1,obj2...)
这样的东西。
那么ES6+是否提供了这样的功能呢?如果还没有,那么是否计划添加这样的功能?如果没有计划,那么为什么?
[[Prototype]]
链上的属性?你做的是“深拷贝”还是“浅拷贝”?那么非枚举和不可写属性呢?我认为,我更愿意使用一个小型库函数来实现我所需要的功能,而且大多数情况下这是可避免的。 - RobG