gpt4 book ai didi

javascript - 同时向现有对象添加属性

转载 作者:行者123 更新时间:2023-12-02 15:34:05 25 4
gpt4 key购买 nike

假设我有这个简单的对象:

var User = {
name: 'Hans',
get_name: function(){return this.name},

street: 'Kings',
postcode: '482932',
city: 'New York'
}

为了更好地概述,我想做这样的事情:

var User = {
name: 'Hans',
get_name: function(){return this.name},
};

//Adress Information
User.add({
street: 'Kings',
postcode: '482932',
city: 'New York'
});

正如预期的那样,这不起作用。为了实现类似的东西我可以写:

User.street = 'Kings';
User.postcode = '482932';
.......

但我想同时添加几个属性。有方便的功能吗?谢谢

最佳答案

使用ES6 (这将覆盖现有属性):

Object.assign(User, { /* some new props */ });

使用lodash (这不会覆盖现有属性):

_.extend(User, { /* some new props */ });

在ES5中通过向User添加一个方法:

User.add = function(newProps) {
Object.keys(newProps).forEach(function(prop) {
this[prop] = newProps[prop];
}.bind(this));
};

确实,如果你想遵循 OO“原则”,add 方法应该放在 User.prototype 中。

关于javascript - 同时向现有对象添加属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33089519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com