Esta palavra-chave em JavaScript

Kheerganga Top, Himanchal

thispalavra-chave é um dos conceitos mais mal compreendidos e complexos do JavaScript. Passei anos trabalhando em JavaScript e, às vezes, esses cenários chegam onde se torna difícil entender a que se thisrefere.

Neste artigo, tentarei explicar tantos cenários que encontrei que usam o this. E pode ser um dos cenários pode ajudá-lo a compreender o conceito de thismais claramente.

Então, primeiro vamos ver a que thisse refere? 🤔

A natureza disso é fluida. O valor das thisalterações com base contextno qual o methodid está called. thisrefere-se ao contexto no qual está sendo chamado.

Vamos entender isso por um exemplo:

No código acima, estamos usando thisem dois lugares diferentes e o valor de thisé diferente em ambos os lugares, o que é decidido pelo contexto no qual está sendo chamado.

Agora vamos ver como isso se comporta dentro de vários blocos de código.

  1. this dentro do contexto global
  2. isto dentro de um arquivo js global sempre aponta para o objeto de janela.
isto dentro de uma função aponta para um objeto de janela.

3. thisdentro da função construtora

isto dentro de uma função do construtor aponta para as chaves do construtor.

4. thisdentro de uma função dentro de um objeto

isto dentro da função de um objeto aponta para a instância do objeto.

5. thisdentro de uma função interna

isto dentro de uma função interna aponta para o objeto janela.

6. thisdentro de uma função e strict modeestá ativado.

isso ocorre porque, quando o ES3 foi lançado, o ECMA se preocupou, pois os desenvolvedores podem ter esquecido de chamar o construtor com a nova palavra-chave.

Além dos cenários acima, temos um conceito adicional para entender. E essas são as funções de seta. thisdentro de uma função de seta funciona de forma diferente.

Dentro de uma função de seta, nãothis tem escopo por si só . Ele sempre aponta para o alcance do pai.

  1. thisdentro de uma função de seta - neste exemplo, o escopo pai do samplemétodo éwindow
  2. dentro de uma seta, a função aponta para o pai.

3. thisdentro de uma função interna como uma função de seta. Caso 1. Quando a função de seta está dentro de uma função de seta.

Além desses, também podemos controlar o contextde thismanualmente usando métodos embutidos de JS call binde apply. Para este artigo, será demais explicá-los. Mas, para fins de demonstração, estou mostrando como podemos mudar contextisso usando call:

Para mais explicações:
https://youtu.be/-NnxwkJ4yIg

Perguntas práticas:
https://dmitripavlutin.com/javascript-this-interview-questions/

Suggested posts

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

A revolução sem código: liberando a prosperidade dos negócios com Webflow, Framer, Bubble.io,

Embarque em uma emocionante jornada de inovação e sucesso enquanto explora o potencial inexplorado dessas surpreendentes plataformas sem código. Deixe-me compartilhar uma história com você sobre Sapna, uma notável empresária.

Meus recursos de codificação mais usados

Meus recursos de codificação mais usados

Esta semana, recebi um e-mail de um membro da lista de e-mails diários. Eles queriam saber: quais recursos você visita diariamente, semanalmente e mensalmente? Ótima pergunta! Fico feliz em tentar compartilhar algumas ideias sobre meu fluxo de trabalho e os principais recursos que uso.

Related posts

A arte é sempre apolítica?

A arte é sempre apolítica?

Ontem, fechamos a porta do Festival Eurovisão da Canção deste ano com uma brilhante e caótica grand finale, onde a cantora sueca Loreen levou para casa o troféu, tornando-se a primeira mulher a vencer duas vezes e trazendo a coroa de volta para a Suécia 50 anos depois que o ABBA venceu a competição com “Waterloo”. Eles se tornaram um dos maiores artistas do cânone da música pop.

Coletando OSINT para caçar ameaças

Coletando OSINT para caçar ameaças

Olá, entusiastas cibernéticos! Bem-vindo de volta ao OSINT para a série de caça a ameaças. No primeiro artigo, apresentei uma visão geral do OSINT e sua importância na caça às ameaças.

Journal Ouvert

Journal Ouvert

Diário aberto: uma foto por dia. Sempre fui fascinado por histórias.

A perseguição aos cristãos: o crime de ódio do qual não falamos

Esqueça a islamofobia: cristãos (e judeus) são as principais vítimas de crimes de ódio religioso.

A perseguição aos cristãos: o crime de ódio do qual não falamos

Qualquer mente racional sabe que os círculos políticos e midiáticos são dominados pela esquerda, até mesmo pela extrema esquerda, um estado de coisas que cria um desequilíbrio no discurso político. No campo da religião, esse desequilíbrio é bem visível: jornais e redes de esquerda não se apressam em defender a fé cristã.