O que você precisa saber sobre o Hoisting

4/8/2020 - DesenvolvimentoSoftware

Saber que o Hoisting ocorre te ajuda a entender melhor como o Javascript lida com variáveis, e pode evitar alguns bugs bem misteriosos!

Nesse artigo, você irá aprender o que é o Hoisting e outros termos importantes relacionados a ele. Vamos lá!?

O que é o Hoisting?

O Hoisting ocorre quando seu código Javascript é compilado : Basicamente, todas as declarações de variáveis são movidas para o topo de seu escopo local (se foram declaradas dentro de uma função, por exemplo) ou para o topo do escopo global (se foram declaradas fora de uma função). Declaração de funções e classes também são movidas para o topo e ficam acima das declarações das variáveis.

Exemplos:

Podemos ver que a função foi executada normalmente mesmo que ela tenha sido chamada antes da sua declaração.


A execução do código acima tem como resposta “undefined” por que apenas a declaração das variáveis são movidas para o topo e não a sua inicialização.

Aqui tudo ocorre como o esperado, após acontecer o hoisting o código é executado da seguinte maneira:

Quais são as diferenças entre let, const e var em termos de hoisting:

a) Var

O var pode ser declarado sem ser inicializado e está disponível fora do seu escopo.

b) Let

O let pode ser declarado sem ser inicializado mas não está disponível fora do seu escopo.


C) Const

O const não pode ser declarada sem ser inicializada e não está disponível fora do ser escopo.

Autor: Renan Filipe (Desenvolvedor)

Referências:

https://developer.mozilla.org/en-US/docs/Glossary/Hoisting
https://medium.com/javascript-in-plain-english/https-medium-com-javascript-in-plain-english-what-is-hoisting-in-javascript-a63c1b2267a1

Receba conteúdos sobre inovação digital, novas tecnologias, design e desenvolvimento.

Entre em contato

Telefones

+55 31 99291-5266

+1 650 691-5964

Endereço

R. Paraíba, 330, sala 1006

Belo Horizonte - MG - Brasil