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

Cannot set property _cpf of #<Cliente> which has only a getter

Repliquei as mesmas instruções da aula porém no meu console apareceu esse erro : Cannot set property _cpf of # which has only a getter

**Código do index**
`
import { Cliente } from "./Cliente.js";

import { ContaCorrente } from "./ContaCorrente.js"

const cliente1 = new Cliente("Ricardo", 11122233309);

const conta1 = new ContaCorrente(1010, cliente1); conta1.depositar(500) conta1.sacar(100)

//console.log(conta1)

console.log(ContaCorrente.numeroDeContas) `

**Classe cliente**

`export class Cliente {
get _cpf() {
    return this._cpf
}

constructor(nome, cpf) {
    this.nome = nome;
    this._cpf = cpf;
}

}`

2 respostas
solução!

Fala Victor, tudo bem? Espero que sim!

Na sua classe Cliente você cria um getter para _cpf e não cpf que seria o correto, sendo assim o JavaScript reclamou de que você criou um getter para a propriedade _cpf mas não criou um setter para a mesma, sendo assim não sendo possivel atribuir o cpf no construtor, porque no JavaScript se você cria um getter para um propriedade e precisa setar algum valor nela, você precisa também criar um setter, então para corrigir isso basta remover o _ do getter, assim ficando a sua classe:

export class Cliente {
get cpf() {
    return this._cpf
}

constructor(nome, cpf) {
    this.nome = nome;
    this._cpf = cpf;
}
}

Agora ja é possivel acessar a propriedade cpf sem problemas, e atribuir algum valor a propriedade _ sem problemas.

Espero ter ajudado, abraços e bons estudos :D

Agora deu certo, muito obrigado pela explicação