Eu recebo o seguinte erro:
<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"/>
new this.constructor funciona em JS puro.
Obrigado:)
O tipo de constructor
é apenas Function
, infelizmente. Você pode escrever isso em vez disso:
class A { constructor() { } refresh() { return new (<typeof A>this.constructor); } }
Comentários muito úteis
O tipo de
constructor
é apenasFunction
, infelizmente. Você pode escrever isso em vez disso: