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

Ao executar não aparece nenhum valor dentro das chaves

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

const contaCorrente1 = new ContaCorrente();

const contaCorrente2 = new ContaCorrente();

const cliente1 = new Cliente(11122233308, 123456789);
contaCorrente1.agencia = 1001;
contaCorrente1.cliente = cliente1;

contaCorrente1.depositar(500);

const cliente2 = new Cliente(77722233309, 876543219);
contaCorrente2.agencia = 1001;
contaCorrente2.cliente = cliente2;

contaCorrente1.transferir(200, contaCorrente2);

console.log(cliente1);
console.log(cliente2);
export class Cliente {
    #cpf;
    #rg;

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

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

    constructor(cpf, rg) {
        this.#cpf = cpf;
        this.#rg = rg;
    }
} 
5 respostas

Fala ai Nathalia, tudo bem? Quando você diz "nenhum valor dentro das chaves" seria referente aos consoles? Olhando o seu código eu não vejo nenhum problema, parece ok.

Está dando algum erro? Como você está executando o arquivo?

Espero ter ajudado.

Não esta dando nenhum erro, ao executar aparece: Cliente {} Cliente {}

Eu só consigo acessar os valores atribuídos se especificar: console.log(cliente1.cpf); console.log(cliente2.cpf);

Achei q poderia ser algo com o VS Code, mas já testei no terminal e acontece a mesma coisa.

Fala Nathalia, isso acontece por conta dos atributos da classes estarem privados utilizando o # acho que a classe Object padrão do JavaScript ainda não consegue fazer uma formação ou toString quando esses campos privados são utilizados.

Espero ter ajudado.

solução!

O problema era a minha versão do node, troque para o node LTS e esta tudo funcionando normalmente, obrigado pela assistência.

Boa Natalhia, fico feliz que tenha resolvido, provavelmente a versão mais nova já sabe lidar e interpretar campos privados.

Sempre que precisar não deixe de criar suas dúvidas.

Abraços e bons estudos.