TypeScriptと戯れる、constructorでのthisの変更

使ってない機能についてネット上のサンプルをもとにちょっと勉強

class Base {
    x: number = 0;
    constructor() {
        // `this`ではなく、新しいオブジェクトを返す
        return {
            x: 1,
        };
    }
}
class Derived extends Base {
    constructor() {
        super();
        this.x += 1;
    }
}

var derved = new Derived();
derved.x;// 2
derved instanceof Base; //false
derved instanceof Derived; //false

これ使うのは最終手段的な感じだなぁ。