浏览underscorejs的方法列表时,我注意到一个以前没见过的方法:extendOwn。
此方法的文档如下:
extendOwn _.extendOwn(destination, *sources) 别名: assign
类似于 extend,但只会复制源对象中的自有属性(own properties)到目标对象中。
我明白如何使用并了解.extend()的功能......但是我却无法理解它与.extendOwn()的区别。
我尝试使用.extend()和.extendOwn()扩展一些对象,以查看是否存在明显的差异——但它们似乎都产生相同的结果。
var a = {
foo: false
};
var b = {
bar: true
};
// This will produce { foo: false, bar: true }; ..just like _.extend() would =\
_.extendOwn( a, b );
对这个谜团的任何洞察都将不胜感激!