JavaScript-Vererbung: Object.create vs new

Was ist der Unterschied zwischen diesen beiden Beispielen in JavaScript:

Voraussetzung:

function SomeBaseClass(){
}

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

    doThat : function(){
    }
}

Vererbungsbeispiel A mit Object.create:

function MyClass(){
}

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

Vererbungsbeispiel B mit dem neuen Schlüsselwort

function MyClass(){
}

MyClass.prototype = new SomeBaseClass();

Beide Beispiele scheinen dasselbe zu tun. Wann würdest du eins über das andere wählen?

Eine zusätzliche Frage: Betrachten Sie den Code unter dem Link (Zeile 15), in dem ein Verweis auf den eigenen Konstruktor der Funktion im Prototyp gespeichert ist. Warum ist das nützlich?

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

Auszug (wenn Sie den Link nicht öffnen möchten):

THREE.ImageLoader.prototype = {

    constructor: THREE.ImageLoader
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage