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

pq não exibirá paco

So código não tem a propriedade freeze como o codigo entende que aquilo só pode ser acessado pelo método get e na hora de atribuir o paco e não entende que não pode mostrar quando dá o console.log?

5 respostas

Olá, Cezar.

Lembre-se que a propriedade titular do objeto conta é um getter que acessa o atributo _titular:

    get titular() {
        return this._titular;
    }
}

A linha

conta.titular = 'Paco';

tenta colocar um novo valor para o getter titular.

Tentar mudar o valor de um getter não tem efeito. Um getter é somente para leitura, conforme o trecho A sintaxe get da aula 2. Não dá erro, mas também não faz nada!

essa parte eu entendi. Só não entendi como o javascript interpreta isso como getter se a declaração de _variavel é apenas uma conveção pq ele disponibiliza o

console.log(conta.titular) = mingal e conta.titular = null ou erro sem tratamento

Um getter é somente pra leitura.

Mas você dar um "olé" nele setando a variável _titular.

Se você fizer:

var conta = new Conta('Mingau', 171);
conta._titular = 'Paco';
console.log(conta.titular);

será impresso "Paco".

o se o underline é uma convenção o nome da variável nao é: underlineTitular Então como o javascript entende qual é o conta.titular na hora de dar o console.log(conta.titular); ? Ele entende que a variável é somente leitura pois tem um metodo

    get titular() {
        return this._titular;
    }
}

e se eu fizer um mêtodo chamado obter

   obter titular() {
        return this._titular;
    }
}

exatamente igual a estrutura padrão vai ser um getter? e nao vai ter como alterar sem usar o mêtodo

solução!

Não vai ser um getter. Só usando get mesmo pro método ser somente pra leitura.

O obter desse jeito vai dar erro...