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

Continua recebendo valores primitivos mesmo após o uso do SET. Por favor me ajudem, já não sei mais o que fazer.

Fiz exatamente como na aula e ainda sim o meu cliente fica como 0, e não como UNDEFINED.

Já revi a aula 3x e não consigo compreender, por favor me ajudem.

Segue o código do INDEX.

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

const cliente1 = new Cliente();  //objeto
cliente1.nome = "Kelwin";
cliente1.cpf = 11122233344;
cliente1.rg = 123456789; 
const ContaCorrenteKelwin = new ContaCorrente();
ContaCorrenteKelwin.agencia = "0712";
ContaCorrenteKelwin.cliente = cliente1;
let valorSacadoKelwin;

ContaCorrenteKelwin.depositar(150);
valorSacadoKelwin = ContaCorrenteKelwin.sacar(50);
// ContaCorrenteKelwin.depositar(-2);
// ContaCorrenteKelwin.sacar(-2);

const cliente2 = 0; //objeto
// cliente2.nome = Dara;
// cliente2.cpf = 99988877766;
// cliente2.rg = 987654321;
const ContaCorrenteDara = new ContaCorrente();
ContaCorrenteDara.agencia = "0712"; 
ContaCorrenteDara.cliente = cliente2;

ContaCorrenteDara.depositar(200);
ContaCorrenteDara.sacar(150);

ContaCorrenteKelwin.transferir(25,ContaCorrenteDara);

console.log(cliente2);
//console.log("valor sacado: ",valorSacadoKelwin)
//console.log(ContaCorrenteKelwin._saldo,ContaCorrenteDara._saldo);
//console.log(ContaCorrenteKelwin)

Segue o código do ContaCorrente:

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

export class ContaCorrente{
    agencia;
    _cliente;

    set cliente(novoValor){
        if(novoValor instanceof Cliente){ 
            this._cliente = novoValor;  
        }
    }


    _saldo = 0;
    sacar(valor){
        if(this._saldo >= valor && valor >= 0){
            this._saldo -= valor;
            return valor; //return executa break.
        }
    }

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

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

Segue código do Cliente:

export class Cliente{ 
    nome; 
    cpf;
    rg;
}
2 respostas

dentro do index, mudei para ficar mais semelhante ao código index do professor

const cliente2 = new Cliente(); //objeto
cliente2.nome = "Dara";
cliente2.cpf = 99988877766;
cliente2.rg = 987654321;
const ContaCorrenteDara = new ContaCorrente();
ContaCorrenteDara.agencia = "0712"; 
ContaCorrenteDara.cliente = cliente2;

Porém agora quando meu SET está ativo no ContaCorrente.js, o código SEMPRE dá undefined.

Por favor alguém me ajuda.

solução!

Descobri que, apesar no index eu não precisar usar a _ para representar meu cliente, no console.log eu preciso.

Ou seja, o undefined era por meu código não encontrar o cliente em questão, mas se referindo como _cliente funciona corretamente.

Caras, eu já tava ficando maluco, tô desde as 06 da manhã nessa kkkk