Javascript oop, instanceof und Basisklasse

Ich entwerfe eine Klassenhierarchie in JavaScript. Bisher funktioniert es einwandfrei, aber ich kann nicht feststellen, ob ein Objekt eine "Instanz" einer übergeordneten Klasse ist. Beispiel:

function BaseObject(name){
    this.name = name;

    this.sayWhoAmI = function(){
        console.log(this.name + ' is a Derivation1 : ' + (this instanceof Derivation1));
        console.log(this.name + ' is a Derivation2 : ' + (this instanceof Derivation2));
        console.log(this.name + ' is a BaseObject : ' + (this instanceof BaseObject));
    };
}
function Derivation1(){
    BaseObject.apply(this, ['first derivation']);
}
function Derivation2(){
    BaseObject.apply(this, ['second derivation']);
}

var first = new Derivation1();
var second = new Derivation2();

first.sayWhoAmI(); protokolliert dies:

first derivation is a Derivation1 : true
first derivation is a Derivation2 : false
first derivation is a BaseObject : false

währendsecond.sayWhoAmI(); protokolliert dies:

second derivation is a Derivation1 : false
second derivation is a Derivation2 : true
second derivation is a BaseObject : false

Ich fühle mich wie beidesfirst undsecond Objekt sollte sagen, dass sie Instanzen von sindBaseObject.

Ich verstehe, dass möglicherweise kein JavaScript dafür erstellt wurde, aber ich frage mich, ob es einen Weg gibt, dies zu erreichen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage