javascript oop, instanceof y clase base

Estoy diseñando alguna jerarquía de clases en JavaScript. Funciona bien hasta ahora, pero no puedo ver cómo determinar si un objeto es una "instancia" de una clase padre. Ejemplo:

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(); registra esto:

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

mientrassecond.sayWhoAmI(); registra esto:

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

Me siento como ambosfirst ysecond objeto debería haber decir que son instancias deBaseObject.

Entiendo que JavaScript no puede estar hecho para esto, pero me pregunto si hay una manera de lograrlo.

Respuestas a la pregunta(1)

Su respuesta a la pregunta