1
resposta

[Dúvida] this ou 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?

1 resposta

Olá Gilnei! Tudo certo?

A palavra-chave this refere-se a um objeto. Agora qual o objeto, depende do contexto que está usando:

  1. Em um método de objeto, this refere-se ao objeto .
  2. Em uma função, this refere-se ao objeto global .
  3. Em um evento, this refere-se ao elemento que recebeu o evento.

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!

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