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()