Estoy tratando de construir una clase base que sería heredada por algunas subclases. Dentro de la clase base, me gustaría agregar varias funciones de creación estática que serían fáciles de usar en el código base. El problema es que no puedo acceder al tipo de subclase desde la clase base.
Por ejemplo, esta es la clase base:
class BaseClass { static fromText(text: string) { const element = getByText(text); return new this(element); } static fromRole(role: string) { const element = getByRole(role); return new this(element); } }Y esta es la subclase:
class SubClass extends BaseClass { doSomething() { console.log('doing something'); } } Ahora, quiero llamar a doSomething desde SubClass . El problema es que TypeScript no sabe que esta función existe dentro SubClass :
const subclass = SubClass.fromText('hello'); subclass.doSomething(); // TypeScript error here, saying doSomething doesn't exist¿Alguien sabe cómo puedo lograr esto?