1
resposta

[JavaScript: Conhecendo Objetos] [Exercício 05] [Módulo 11]

Oi pessoal, tudo bem?

Acabei me confundindo na resolução, pois, pra mim não fez muito sentido ter um objeto com uma propriedade 'titular' e depois um outro objeto com a propriedade 'cliente', onde essas duas propriedades podem ser diferentes para a mesma conta. Acho que o exercício não ficou muito bem formulado.

No entanto, eu tentei seguir por um outro caminho de colocar somente o número titular no objeto 'dadosCliente' e deixei o objeto "contaBanco" somente para as operações de depósito, saque e informações de saldo. Ainda diferente do que foi proposto, coloquei o objeto 'dadosCliente' dentro do objeto 'contaBanco', já que ambos estão relacionados ao mesmo conjunto de dados.

De qualquer forma, o código ainda fica limitado à única conta que foi criada para o exercício. Um caminho interessante para evoluir seria fazer com que um dos elementos do objeto pudess servir como chave para acessar e fazer as operações de depósito e saque de uma conta específica. Por exemplo, o número de uma conta ou o nome do titular daquela conta.

Vou pensar melhor como posso fazer essa proposta e coloco aqui se eu chegar em alguma conclusão, mas a intenção aqui era de somente salientar a clareza do que foi pedido no exercício e contribuir com a minha sugestão.

Meu código ficou assim:

const contaBanco = {
    
    mensagemOperação: '',
    saldo: 100,
    depositar:  function (valorDeposito) {
        this.saldo = valorDeposito + this.saldo;
    },
    sacar: function (valorSaque) {
        this.saldo = this.saldo - valorSaque
        if(this.saldo >=0){
        this.saldo = this.saldo
        }
        else{
            this.mensagemOperação = ' saldo insuficiente';
            this.saldo = this.saldo + valorSaque
        }
    },
    dadosCliente: {
        nomeCliente: 'José da Silva',
        contaNum: 0,
        infoCliente: function () {
            return console.log ('Cliente: ' +this.nomeCliente +' Saldo Cliente: ' +contaBanco.saldo)},


    }
}

contaBanco.depositar(500);
contaBanco.sacar(200);
contaBanco.dadosCliente.infoCliente()
1 resposta

Oi Rafael, tudo bem?

Às vezes, os exercícios podem parecer um pouco desconexos, mas é uma boa oportunidade para praticar e entender diferentes abordagens.

Gostei da sua ideia de organizar os dados do cliente dentro do objeto contaBanco. Sua implementação está boa, mas vou sugerir algumas melhorias para deixá-la mais clara e funcional.

Aqui está uma versão revisada do seu código, seguindo a ideia de ter um objeto para o cliente e outro para a conta bancária:

const cliente = {
    nome: 'José da Silva',
    conta: {
        numero: 12345,
        saldo: 100,
        depositar: function (valor) {
            this.saldo += valor;
            console.log(`Depósito de R$${valor} realizado com sucesso. Saldo atual: R$${this.saldo}`);
        },
        sacar: function (valor) {
            if (valor > this.saldo) {
                console.log('Saldo insuficiente para saque.');
            } else {
                this.saldo -= valor;
                console.log(`Saque de R$${valor} realizado com sucesso. Saldo atual: R$${this.saldo}`);
            }
        },
        mostrarSaldo: function () {
            console.log(`Cliente: ${cliente.nome} | Saldo: R$${this.saldo}`);
        }
    }
};

// Realizando operações
cliente.conta.depositar(500);
cliente.conta.sacar(200);
cliente.conta.mostrarSaldo();

Neste exemplo, o objeto cliente tem uma propriedade conta, que é um objeto representando a conta bancária. As funções de depósito, saque e exibição de saldo estão dentro do objeto conta, o que mantém a lógica organizada e clara.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.