假设你有一个Javascript对象,并想向它添加一些方法或属性,我首先想到的方式是简单地扩展它的原型对象,就像这样。哪个更适合用lodash扩展Javascript对象?有什么不同?
someObject.prototype.someMethod =() => doSomething()
我认为这是我们所有人在白天做的方式。 但是,如果你使用lodash,你可以更加优雅地做同样的事情,如果你感觉将来会增加更多的方法,看起来很容易。
_.assign(someObject, {
someMethod:() => doSomething(),
})
我看到一些代码和博客这样做,但我想知道为什么不只是做这样的事情?
_.assign(someObject.prototype, {
someMethod:() => doSomething(),
})
这两者之间究竟有什么不同,究竟哪个更好?
如果你可以编辑你的问题,以消除对意见的请求(“哪个更好”),这将是对话题。但是,您可能还想研究Object.assign,这本质上是lodash的分配使用的内容:http://stackoverflow.com/q/37123425/215552 –
如果问题是关于扩展原型vs实例,为什么只限于Lodash ? – estus