Raquel
Membro
- Cadastro
- 24/9/20
- Postagens
- 98
- Curtidas
- 107
- Pontuação
- 90
O tal do this
É sempre uma pergunta recorrente né, mas o que diabos é esse this?
Gente, o this é complicado mesmo quando você chega do nada né MAS! estamos aqui para tirar essas dúvidas.
Eu sempre recomendo, quando alguém não entende o que é algum método ou função ou, nesse caso, variável no JavaScript - ou em qualquer linguagem de programação, diga-se de passagem - a minha sugestão é traduzir o nome dessa função, método ou variável.
O this, portanto, pode ser entendido como "isto" ou, ainda, "este" ou "esta". Faz ainda mais sentido quando se entende que o this se trata de contexto.
O this vai se referir ao contexto de um determinado bloco de código. É como se você estivesse falando "Aqui ó, é a este bloco de código que eu tô me referindo!"
Fora de qualquer bloco de código, o this vai se referir ao objeto global ("É isto aqui que eu tô me referindo agora!").
Dentro de uma função, o this vai depender de como esta função é chamada: numa chamada simples, que não está em modo estrito, o this não é definido pela chamada.
Já em modo estrito, o valor de this permanece seja qual for o definido ao entrar no contexto de execução.
As funções arrow não tem um this próprio, sendo o this definido lexicalmente, ou seja, seu valor é definido pelo contexto de execução onde está inserido.
Para funções, você poderia dizer "Ó, é esta função aqui que eu tô falando!"
Além disso, para ajudar ainda mais os estudos, recomendo esse vídeo super detalhado sobre a variável this.
É sempre uma pergunta recorrente né, mas o que diabos é esse this?
Gente, o this é complicado mesmo quando você chega do nada né MAS! estamos aqui para tirar essas dúvidas.
Eu sempre recomendo, quando alguém não entende o que é algum método ou função ou, nesse caso, variável no JavaScript - ou em qualquer linguagem de programação, diga-se de passagem - a minha sugestão é traduzir o nome dessa função, método ou variável.
O this, portanto, pode ser entendido como "isto" ou, ainda, "este" ou "esta". Faz ainda mais sentido quando se entende que o this se trata de contexto.
O this vai se referir ao contexto de um determinado bloco de código. É como se você estivesse falando "Aqui ó, é a este bloco de código que eu tô me referindo!"
Fora de qualquer bloco de código, o this vai se referir ao objeto global ("É isto aqui que eu tô me referindo agora!").
Dentro de uma função, o this vai depender de como esta função é chamada: numa chamada simples, que não está em modo estrito, o this não é definido pela chamada.
Já em modo estrito, o valor de this permanece seja qual for o definido ao entrar no contexto de execução.
As funções arrow não tem um this próprio, sendo o this definido lexicalmente, ou seja, seu valor é definido pelo contexto de execução onde está inserido.
JavaScript:
function Pessoa(){
this.idade = 0;
setInterval(() => {
this.idade++; // |this| corretamente se refere ao objeto Pessoa
}, 1000);
}
var p = new Pessoa();
Para funções, você poderia dizer "Ó, é esta função aqui que eu tô falando!"
Além disso, para ajudar ainda mais os estudos, recomendo esse vídeo super detalhado sobre a variável this.