javascript - 扩展,但针对对象而不是类

标签 javascript

在软件中,我们通常使用“扩展”一词来指代父类(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/

相关文章:

javascript - 如何在 Bootstrap 中设置下拉菜单的相关宽度

javascript - 我想用 json 数据填充单选按钮输入

javascript - 我的 graphql 服务器突变返回空值

javascript - 在 Internet Explorer 11 中支持 ES6

javascript - 是否可以永久禁用 html 按钮?

javascript - 使用 date.js 将 ISO 8601 转换为特定格式

javascript - 删除所有 DOM 元素中隐藏的属性,除了给出索引的元素使用 Javascript 函数不起作用

javascript - 如何解决Node js和mongodb中的时区问题?

javascript - ExtJS 5 : Initial ViewModel data not firing formula

javascript - 动态更改视频标签源时移动 Safari 崩溃