Наследование JavaScript: Object.create против нового

В JavaScript какая разница между этими двумя примерами:

Необходимое условие:

function SomeBaseClass(){
}

SomeBaseClass.prototype = {
    doThis : function(){
    },

    doThat : function(){
    }
}

Пример наследования A с использованием Object.create:

function MyClass(){
}

MyClass.prototype = Object.create(SomeBaseClass.prototype);

Пример наследования B с использованием нового ключевого слова

function MyClass(){
}

MyClass.prototype = new SomeBaseClass();

Оба примера, кажется, делают то же самое. Когда бы вы выбрали один над другим?

Дополнительный вопрос: рассмотрите код в приведенной ниже ссылке (строка 15), где ссылка на функцию 'Собственный конструктор хранится в прототипе. Почему это полезно?

https://github.com/mrdoob/three.js/blob/master/src/loaders/ImageLoader.js

Выдержка (если вы нене хочу открывать ссылку):

THREE.ImageLoader.prototype = {

    constructor: THREE.ImageLoader
}

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

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