Qual é a diferença entre _.extend (Something.prototype, someObj) e Something.prototype.someFunc = someFunc?

Estou entrando em programação orientada a objetos real usando JavaScript e eu corri em duas maneiras diferentes de estender o protótipo de um objeto existente.

Método um:

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

Método dois (usando underscore.js):

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

Qual é a diferença entre essas duas abordagens? Qual deles é considerado "melhor"? Para mim, parece que o primeiro método é melhor porque ele usa JavaScript antigo, e o segundo método é a implementação de alguém. Mas por outro lado, os desenvolvedores do underscore.js certamente não adicionaram o método _.extend () para nada?

questionAnswers(1)

yourAnswerToTheQuestion