Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

set texto

Tentei atribuir um texto para o método set texto da seguinte forma

let msg = new Mensagem();
msg.texto("Teste"); //Não funciona!
msg.texto = "Teste"; //Funciona!

Gostaria de saber qual a diferença dos dois.

Segue o código da classe Mensagem.

class Mensagem{

    constructor(){

        this._texto;
    }

    get texto(){

        return this._texto;
    }

    set texto(texto){

        this._texto = texto;
    }
}
2 respostas
solução!

Se você cria um setter, você o acessa como uma propriedade e não como método. Mesma ideia do getter que você aprendeu ao construir a classe Negociação

Emerson,

Como o Flavio explicou, trata-se de sintaxe. O getter e o setter no java script são digamos "metodos especiais" que serão utilizados como propriedades e não utilizando a sintaxe de método padrão.

Observe que no getter você não utiliza let valor = obj.prop();e sim let valor = obj.prop;

Da mesma forma é o setter que voc~e não utilizará obj.prop(valor); e sim obj.prop = valor;

Espero que tenhamos esclarecido sua duvida e bons estudos!