Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Uso do this

Boa tarde a todo, venho tendo dúvidas no uso do this. Eu entendo em um exemplo, mas quando aplicado em outro contexto, eu me perco novamente. Um exemplo abaixo é ideal para melhorar minha pergunta.

class Cliente
{
    nome;
    cpf;
}

class ContaCorrente
{
    agencia;
    cliente;

    _saldo = 100;

    sacar(valor)
    {   
        if(this.saldo >= valor){
            this.saldo -= valor //será a subtração do saldo pelo valor que iremos determinar
            return valor; //aqui será mostrado o valor sacado.

        }
    }
    depositar(valor) //função de deposito
    {
        if(valor > 0)
        {
            this.saldo += valor //será somado o valor do saldo + o valor que iremos determinar
        }
    }
    tranferir(valor, conta)
    {
        const valorSacado = this.sacar(valor);
        conta.depositar(valorSacado);
    }
}

Gostaria de uma explicação sobre o uso do this e o que ele representa.

1 resposta
solução!

Olá Jeremias, tudo bem com você?

Peço desculpas pela demora em lhe responder.

A palavra-chave this declarada em um método de classe representa uma referência ao objeto de classe a qual um método foi chamado. Usaremos o this nos métodos de classes sempre que for necessário fazermos uma referência ao objeto da classe.

Podemos considerar o seguinte exemplo: temos um objeto de nome conta pertencente à classe ContaCorrente e essa classe possui o método sacar. Como representado no código abaixo.

class ContaCorrente{
    agencia;
    _saldo = 100;

    sacar(valor){
        this._saldo -= valor;
    }       
}

const conta = new ContaCorrente();
conta.agencia = 1001;

Quando chamamos o método sacar no objeto conta por baixo dos panos, o 'this' receberá uma referência para o objeto conta durante a execução do código. Seria como se trocássemos a palavra-chave this pelo nome do objeto conta em tempo de execução, realizando algo semelhante ao apresentado na simulação abaixo.

class ContaCorrente{
    agencia;
    _saldo = 100;

    sacar(valor){
        conta._saldo -= valor;
    }       
}

const conta = new ContaCorrente();
conta.agencia = 1001;
conta.sacar(50);

Com isso podemos manipular o objeto da classe através de uma referência salva no this.

Em resumo temos que o this presente nos métodos de classes apresentadas, irão fazer referência ao objeto a qual um método é chamado.

Espero ter ajudado. Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

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