在软件中,我们通常使用“扩展”一词来指代父类(super class)的子类化,但是当以系统的方式“扩展”对象而不是类的属性时,是否有好的术语可以使用?
例如,在 JavaScript 中,如果我有一个像这样的对象:
var foo = {
property1:'',
property2:''
}
然后我有:
var bar = {
property3:''
}
如果我将 bar 的属性添加到 foo 的属性中,这就是我的意思。
最佳答案
无论出于何种原因,术语extend
已被用来将一个对象中的属性添加到另一个对象中的属性。 jQuery 做到了这一点,但它可能不是第一个。下划线使用相同的术语:
_.extend(myObj, {newProp1: 1})
$.extend(myObj, {newProp1: 1})
另一方面,Ember 在子类化意义上使用 extend
,添加属性的 API 是 Ember.merge
。
ES6版本称为分配
:
Object.assign(myObj, {newProp1: 1})
没有标准的术语,也没有标准的方法来区分使用新属性扩展对象和在子类化的意义上扩展类的概念。
关于javascript - 扩展,但针对对象而不是类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28536300/