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.




n entendi mto bem, mas vou acenar com a cabeça em sinal de positivo qd me perguntarem
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.
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.
Fenomenal, obrigado pela explicação.
SS
Adorei a explicação sucinta mas mais ainda o exemplo, poucos fazem algo tão bem assim.
Parabéns
Excelente explicação e exemplo.. show!