Was ist der Unterschied zwischen _.extend (Something.prototype, someObj) und Something.prototype.someFunc = someFunc?

Ich beschäftige mich mit der objektorientierten Programmierung mit JavaScript und habe zwei verschiedene Möglichkeiten kennengelernt, um den Prototyp eines vorhandenen Objekts zu erweitern.

Methode eins:

Something.prototype.someFunc = function() {
    // To something usefull
}

Methode zwei (mit underscore.js):

_.extend(Something.prototype, {
    someFunc: function() {
        // Do the same but differently
    }
}

Was ist der Unterschied zwischen diesen beiden Ansätzen? Welches gilt als "besser"? Für mich sieht es so aus, als ob die erste Methode besser ist, weil sie einfaches altes Javascript verwendet, und die zweite Methode ist eine andere Implementierung. Aber andererseits haben die Entwickler von underscore.js die _.extend () -Methode doch nicht umsonst hinzugefügt?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage