Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Esto es posible? (Typescript)

Iniciado por J_F_NASH, 20 de Febrero de 2021, 10:31:16 PM

« anterior - próximo »

J_F_NASH

class  Tabla{
    static mensaje:string = 'hola 1';
    static muestraMensaje:() => void;
};
const tablero = new Tabla();

// Quiero definir el método fuera de la clase (no quiero que con el tiempo mi clase llegue a parecerse a una vaca preñada)
Tabla.muestraMensaje = function(){
    console.log(this.mensaje);
}
Tabla.muestraMensaje() // salida: 'hola 1' (hasta aqui es correcto)

// El problema lo tengo con los objetos. Por ejemplo:
tablero.mensaje = 'hola 2' // error porque 'mensaje' es static!
// Luego quiero ver el nuevo mensaje enviado a tablero
tablero.muestraMensaje(); // error pues el metodo es static!

// Cual es el metodo de trabajo para poder hacer esto?

J_F_NASH

Solución:

class  Tabla{
    visible:boolean;
    constructor(visible:boolean){
        this.visible = visible;
    }
    muestra() {}
};

Tabla.prototype.muestra = function(){
    Tabla.prototype.visible = false;
    console.log(this.visible);
}
const tablero = new Tabla(true);

Tabla.prototype.muestra();
tablero.muestra();
[code]






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.