Article image
Amanda Machado
Amanda Machado18/04/2023 14:05
Share

Entendendo o que é o 'this' em JavaScript

  • #JavaScript

Oi, Devs iniciantes!

Vamos entender um pouco sobre o que é o 'this' em JavaScript.

O "this" em JavaScript se refere ao objeto que está sendo referenciado em um determinado contexto ou escopo. Ele pode ser usado dentro de uma função para se referir ao objeto que a chamou, ou pode ser usado fora de uma função para se referir ao objeto global (no caso do navegador, seria o objeto "window").

A definição e aplicabilidade podem ser um pouco confusas, pois o valor de "this" pode mudar dependendo do contexto em que é usado. Em uma função, por exemplo, o valor de "this" pode ser definido pelo modo como a função é chamada, e não pela maneira como ela é definida. Isso pode ser um pouco complicado, mas também pode ser útil em certas situações.

Frequentemente usado para referenciar propriedades e métodos de um objeto. Em um objeto, o "this" se refere ao próprio objeto. Quando uma função é chamada a partir de um objeto, o "this" se refere ao objeto que a chamou.

Vamos de exemplo??  Veja:

let pessoa = {

 nome: 'João',

 apresentar: function() {

 console.log(`Olá, meu nome é ${this.nome}.`);

 } };

pessoa.apresentar(); 

Imprimirá: Olá, meu nome é João.

Nesse exemplo, usamos o "this" dentro do método "apresentar" para se referir ao objeto "pessoa" e acessar sua propriedade "nome". Quando chamamos o método "apresentar" a partir do objeto "pessoa", o "this" se refere ao próprio objeto "pessoa".

Sem o uso do "this", teríamos que passar o nome da pessoa como um argumento para o método "apresentar", o que tornaria o código mais verboso.

Em resumo, o "this" é uma palavra-chave importante em JavaScript que se refere ao objeto em um determinado contexto ou escopo. Ele pode ser usado para acessar e manipular propriedades e métodos de um objeto. Entender como o "this" funciona em diferentes situações pode ser útil para escrever código JavaScript mais eficiente e claro.

Share
Comments (6)
Felipe Durães
Felipe Durães - 19/04/2023 09:43

n entendi mto bem, mas vou acenar com a cabeça em sinal de positivo qd me perguntarem

Sergio Lima
Sergio Lima - 24/11/2023 09:51

Esse trem me lembra o self do Pyton que também aponta para a própria função da qual faz parte. A diferença é que ele está ligado a função e não a um objeto que a chamou e não é tão abrangente quando este this ai.

Pedro Freitas
Pedro Freitas - 06/11/2023 14:35

let pessoa = {

 nome: 'João',

 apresentar: function() {

 console.log(`Olá, meu nome é ${this.nome}.`);

 } };


pessoa.apresentar(); 

Imprimirá: Olá, meu nome é João.

--------------------------------------------------------------------------


O .this é a mesma coisa que você escrever o nome do objeto que seria 'pessoa', objeto pessoa.

No lugar de 'pessoa.nome', usa-se o ' this.nome' , nesse caso, o this vai se referir diretamente ao atributo do objeto pessoa ou qqr atributo que se queira acessar dentro do objeto pessoa.


A questão é entender quando o this perdeu a referencia e usar o metodo .bind pra poder vincular o this a esse objeto novamente. É ai que as coisas ficam complicadas.

Vinicius Alves
Vinicius Alves - 19/04/2023 23:15

Fenomenal, obrigado pela explicação.

SS

Sergio Silva - 19/04/2023 16:56

Adorei a explicação sucinta mas mais ainda o exemplo, poucos fazem algo tão bem assim.


Parabéns

Ezequiel Campana
Ezequiel Campana - 18/04/2023 16:24

Excelente explicação e exemplo.. show!