匿名クラス(Anonymous class)のオブジェクトは以下のように作成できる。
anon.ts
class Base {
public static create() {
return new class extends Base {
constructor() {
super("XXX");
}
}();
}
constructor(private value: string) {
}
public methodA() {
console.log("A" + this.value);
}
}
const v = Base.create();
v.methodA();
内部クラス(Inner class)は以下のように
inner.ts
class Base {
public static Inner = class extends Base {
public method() {
return 1;
}
};
}