假設你有一個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