1
resposta

[Dúvida] Sobre o undefined e o uso do return.

Fiquei com dúvida no uso do return pois, no meu exemplo eu não usei e o undefined não foi exibido na saída.

lass Cliente{
    // campos/atributos
    nome;
    cpf;
}

// estrutura/molde
class ContaCorrente{
    agencia;
    saldo;

    // método
    sacar(vSaque){

        if(this.saldo < vSaque){
            console.log("Saldo insuficiente.");
        } else {
            this.saldo -= vSaque;
        }    
    }

    // método
    depositar(vDeposito){

        if(vDeposito < 0){
            console.log("Valor do depósito inválido.");
        } else {
            this.saldo += vDeposito;
        }
    }
}

// variável/objeto
const cliente1 = new Cliente();
// definindo valor dos atributos
cliente1.nome = "Rebeca";
cliente1.cpf = 88899977711;

const contaCliente1 = new ContaCorrente();
contaCliente1.agencia = 1001;
contaCliente1.saldo = 1111;
console.log(cliente1, contaCliente1); // saída de dados

/* realizar um saque*/
contaCliente1.sacar(2000);
console.log(cliente1, contaCliente1.saldo); // saída de dados


// realizar um depósito
contaCliente1.depositar(300);
console.log(cliente1, contaCliente1); // saída de dados
1 resposta

Olá, Renata!

No seu código, você não está usando o return nos métodos sacar e depositar, e também não está atribuindo o resultado desses métodos a nenhuma variável. Por isso, você não vê o undefined sendo exibido na saída.

No JavaScript, quando um método não possui a palavra-chave return - ou seja, se ele não devolve um valor explicitamente -, ele sempre devolve um undefined. Mas essa devolução só será visível se você tentar armazenar o resultado do método em uma variável ou exibir o resultado diretamente, como você buscou outro caminho o erro de undefined não acontece.

Portanto, o código funciona como esperado, mesmo sem um return, porque os métodos estão alterando o estado do objeto contaCliente1 (ou imprimindo mensagens) e não precisam retornar um valor específico.

Espero ter ajudado e reforço que em casos de dúvidas, conte sempre com o fórum da comunidade Alura! Bons estudos!

Sucesso

Um grande abraço e até mais!

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

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software