Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

numeroDeContas = undefine

Olá. Estou com um pequeno problema na hora de imprimir o número de contas, já verifiquei e segue exatamente o mesmo nome em todos os casos, mesmo assim retorna "undefined" Segue o código para analise:

index.js :

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



const cliente1 = new Cliente("Renan", "11511411688");
//cliente1.nome = "Renan";
//cliente1.cpf = "11511411688";
//cliente1.agência = 1001;
//cliente1.saldo = 0.0;

const cliente2 = new Cliente("Luna", "123444567710");
//cliente2.nome = "Luna";
//cliente2.cpf = "123444567710";
//cliente2.agência = 1001;
//cliente2.saldo = 0.0;

//console.log(cliente1);
//console.log(cliente2);

const ContaCorrente1 = new ContaCorrente(cliente1, 1001);
const ContaCorrente2 = new ContaCorrente(cliente2, 1002);
ContaCorrente1.depositar(200);
const valorSacado = ContaCorrente1.sacar(10);
console.log(valorSacado);
console.log(ContaCorrente1.saldo);
ContaCorrente1.transferir(20,ContaCorrente2);
ContaCorrente1.transferir(20,ContaCorrente2);
//console.log(ContaCorrente1);
console.log(ContaCorrente1.saldo);
ContaCorrente1.transferir(100,ContaCorrente2);
console.log(ContaCorrente1.saldo);
console.log(ContaCorrente1.cliente);
//console.log(ContaCorrente2);
console.log(ContaCorrente2.saldo);
console.log(ContaCorrente2.cliente);
console.log(ContaCorrente2.numeroDeContas);

Cliente.js

export class Cliente{
    nome;
    #cpf;


    get cpf(){
        return this.#cpf;
    }

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

}

ContaCorrente.js:

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

export class ContaCorrente{
    static numeroDeContas = 0;
    agencia;
    #cliente;
    #saldo = 0;

    set cliente(novoCliente){
        if(novoCliente instanceof Cliente)
        {
            this.#cliente = novoCliente;
        }

    }

    get cliente(){
        return this.#cliente;
    }
   get saldo(){
        return this.#saldo;
    }

    constructor(cliente, agencia){
        this.cliente = cliente;
        this.agencia = agencia;
        ContaCorrente.numeroDeContas +=1;
        //console.log("Conta Criada");
    }

    sacar(valor){
        if(this.#saldo>=valor){
            this.#saldo -= valor;
            console.log("Sacando");
        }
        else{
            console.log("Saldo insuficiente");
        }
        console.log(this.#saldo);
        return this.#saldo;
    }

    depositar(valor){
        if(valor<=0){
            return; 
        }
        else{
            console.log("Depositado");
            this.#saldo += valor;
        }
        return this.#saldo;
    }

    transferir(valor, conta){
        this.sacar(valor);
        conta.depositar(valor);
    }
}
1 resposta
solução!

Opa, já descobri. Na hora de imprimir o número de contas eu devo chamar a Classe ContaCorrente e não o objeto ContaCorrente.

Dessa forma:

console.log(ContaCorrente.numeroDeContas);