Logo

¡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.
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.