次のエラーが発生します:
<br i="6"/>
TS2351 Cannot use 'new' with an expression whose type lacks a call or construct signature.<br i="7"/>
<br i="10"/>
class A {<br i="11"/>
constructor() { ... }<br i="12"/>
refresh() { return new this.constructor; }<br i="13"/>
}<br i="14"/>
新しいthis.constructorは純粋なJSで動作します。
ありがとう:)
残念ながら、 constructor
Function
だけです。 代わりにこれを書くことができます:
class A { constructor() { } refresh() { return new (<typeof A>this.constructor); } }
最も参考になるコメント
残念ながら、
constructor
Function
だけです。 代わりにこれを書くことができます: