Herança JavaScript: Object.create vs new

Em JavaScript, qual é a diferença entre esses dois exemplos:

Pré-requisito:

function SomeBaseClass(){
}

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

    doThat : function(){
    }
}

Exemplo de herança A usando Object.create:

function MyClass(){
}

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

Exemplo de herança B usando a nova palavra-chave

function MyClass(){
}

MyClass.prototype = new SomeBaseClass();

Ambos os exemplos parecem fazer a mesma coisa. Quando você escolheria um sobre o outro?

Uma pergunta adicional: Considere o código no link abaixo (linha 15), onde uma referência ao construtor da função é armazenada no protótipo. Por que isso é útil?

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

Trecho (se você não quiser abrir o link):

THREE.ImageLoader.prototype = {

    constructor: THREE.ImageLoader
}

questionAnswers(4)

yourAnswerToTheQuestion