1
resposta

Duvida no penúltimo exercício

Criei a function mostrarSaldo conforme solicitado, mas não deu certo! Conseguem me explicar em qual ponto eu estou errando. Agradeço

// Crie um objeto chamado contaBancaria.

const contaBancaria = {
    titular : 'Leticia Linz',
    saldo : 20500,
    depositar : function(valor){
        return this.saldo += valor;
    },
    sacar : function(valor){
        if(valor < this.saldo){
            this.saldo -= valor;
        } else{
            console.log(`Saldo indisponível na conta. Tente com outro valor menor que ${contaBancaria.saldo} `);
        }
    }
};

const cliente = {
    nome : 'Michell Corte',
    conta : contaBancaria
};

// Crie uma função chamada mostrarSaldo que aceita o objeto cliente como parâmetro e imprime no console 
// o nome do cliente e o saldo da sua conta utilizando this para acessar as propriedades do objeto.

function mostrarSaldo(cliente){
    console.log(`O nome do cliente é: ${this.nome}.  Saldo disponível: ${this.conta.saldo}`);
};

mostrarSaldo(cliente);

// Operação da function mostrarSaldo deu erro. Não sei porque.

// Realize operações de depósito e saque na conta bancária do cliente usando as funções do objeto contaBancaria e, 
// em seguida, chame a função para exibir as informações atualizadas no console.

cliente.conta.depositar(300);
cliente.conta.sacar(100);
cliente.conta.depositar(900);

mostrarSaldo(cliente);
1 resposta

Oi Sara! Como vai?

O problema está no uso do this dentro da função mostrarSaldo. Quando você usa this dentro de uma função que não é um método de um objeto, ele não se refere ao objeto que você espera. No seu caso, this não está se referindo ao objeto cliente.

Para corrigir isso, você deve acessar as propriedades do objeto cliente diretamente através do parâmetro que você passou para a função. Aqui está como você pode ajustar a função mostrarSaldo:

function mostrarSaldo(cliente){
    console.log(`O nome do cliente é: ${cliente.nome}. Saldo disponível: ${cliente.conta.saldo}`);
}

Com essa alteração, a função mostrarSaldo deve funcionar corretamente, exibindo o nome do cliente e o saldo da conta no console.

Espero ter ajudado e bons estudos!

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