O método 'this' serve para buscar o valor da chave, certo? Se sim, qual a diferença entre usar o método , ou o nome do objeto?
O método 'this' serve para buscar o valor da chave, certo? Se sim, qual a diferença entre usar o método , ou o nome do objeto?
Olá Gilnei! Tudo certo?
A palavra-chave this refere-se a um objeto. Agora qual o objeto, depende do contexto que está usando:
No exemplo da aula temos o primeiro caso:
const cliente = {
saldo: 200,
efetuaPagamento: function (valor) {
if (valor > this.saldo) {
console.log("Saldo insuficiente");
} else {
this.saldo -= valor;
console.log("Pagamento efetuado");
}
}
}
cliente.efetuaPagamento(100);
console.log(cliente.saldo);
Se tivéssemos feito apenas saldo-=valor
teríamos recebido um erro, pois dentro da função não sabemos o que é a variável saldo, ela está em outro contexto!
E usamos o this justamente para recurar esse contexto. Ao inserir o this neste exemplo, ele é uma referência para ao objeto que possui o método efetuaPagamento
, ou seja, o cliente.
Então, se trocarmos o this.saldo-=valor
por cliente.saldo-=valor
, o código continuará funcionando.
Caso tenha ficado com alguma dúvida, não deixe de compartilhar!
Continue praticando e evoluindo na sua jornada.
Bons estudos e até mais!