В чем разница между _.extend (Something.prototype, someObj) и Something.prototype.someFunc = someFunc?

Я попадаю в реальное объектно-ориентированное программирование с использованием JavaScript и столкнулся с двумя различными способами расширения прототипа существующего объекта.

Способ первый:

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

Метод два (используя underscore.js):

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

В чем разница между этими двумя подходами? Какой из них считается "лучше"? Мне кажется, что первый метод лучше, потому что он использует старый добрый javascript, а второй метод - чья-то реализация. Но с другой стороны, разработчики underscore.js наверняка не добавили метод _.extend () даром?

Ответы на вопрос(1)

Ваш ответ на вопрос