1
resposta

erros quando priva o atributo com "_"

entre várias tentativas tirando e colocando o _ nos atributos, em alguns casos dá TypeError, e outros que não entendo. Não sei se quando ponho o _ num atributo, toda vez que for "mencionar" ele no código novamente devo colocar o _ , se coloco da erro e se não coloco também, em fim, no caso abaixo ao rodar o arquivo "index.js" no powershell isso que apareceu:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

código completo do index:

import {Cliente} from "./cliente.js"
import {ContaCorrente} from "./contaCorrente.js"

const cliente1 = new Cliente('Helena', 12345678910)
const cliente2 = new Cliente('Pedro', 12345678911)

const contaCorrente1 = new ContaCorrente(cliente1, 1001)
const contaCorrente2 = new ContaCorrente(cliente2, 1001)

contaCorrente1.depositar(500)
contaCorrente1.sacar(100)

contaCorrente1.transferir(200, contaCorrente2)

console.log(contaCorrente1.saldo)
console.log(contaCorrente2.saldo)

Código completo conta corrente:

import { Cliente } from "./cliente.js"

export class ContaCorrente {
    static numeroDeContas = 0
    agencia
    _cliente
    _saldo = 0


    // SETTERS & GETTERS
    set cliente(novoValor){
        if(novoValor instanceof Cliente)
            this._cliente = novoValor
    }
    get cliente(){ return this._cliente }
    get saldo(){ return this._saldo }

    // CONSTRUCTOR

    constructor (cliente, agencia){
        this._cliente = cliente
        this.agencia = agencia
        this._saldo = 0
        ContaCorrente.numeroDeContas += 1
    }

    // FUNCTIONS

    depositar(valor){
        if(valor <= 0) return
        this._saldo += valor
    }

    sacar(valor){
        if(this._saldo >= valor)
            this._saldo -= valor
        return valor
    }

    transferir(valor, conta){
        const valorSacado = this._sacar(valor)
        conta.depositar(valorSacado)
    }


}

código completo Clientes:

export class Cliente{
    nome
    _cpf

    get cpf(){ return this._cpf }

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

Ola Helena , tira o _ do sacar nao precisa usar ele chamando a funcao .

ficaria

  transferir(valor, conta){
        const valorSacado = this.sacar(valor)
        conta.depositar(valorSacado)
    }