Entonces, soy nuevo en Typescript y recientemente comencé a aprender de la documentación. Estaba mirando su documentación y no había signos de reutilización del método de otra clase. archivo de clase A
export class A{ ... constuctor(){ const queue = this.createQueue() } createQueue(){ console.log("Has access to this", +this); } }
Y hay una clase B con exactamente las mismas definiciones y utiliza el mismo método. ¿Cómo hago que esto sea reutilizable para que ambos llamen con "esto"? Una solución en la que pensé es crear una Clase de ayuda separada que podría usar, pero no estoy seguro de cómo hacerlo. ¿Alguna idea?
En este caso, la herencia probablemente sea su mejor apuesta. Básicamente, esto significa que puede extenderse a otra clase e incluir todas las propiedades/getters/setters/métodos de la otra.
// we denote this class as abstract because it must be extended and cannot be directly initialized, ie new BaseFoo() abstract class BaseFoo<T> { // `T` is the item type within the queue queue: T[]; constructor() { this.queue = this.createQueue(); } createQueue() { // can access `this` return []; } } class FooA extends BaseFoo<number> { constructor() { super(); // runs child class's constructor console.log(this.queue); // [] } } class FooB extends BaseFoo<string> { constructor() { super(); console.log(this.queue); // [] } }