Variáveis
No Javascript, podemos declarar uma variável utilizando a palavra reservada var, let e const.
A diferença entre elas, é que quando se declara uma variável utilizando o var, ela acaba vazando o escopo de por exemplo, um if, for, while, etc. Já quando se declara com let, nesse caso o escopo é respeitado. E por fim, quando se declara com const, uma vez declarada a variável não consegue mudar seu valor, gerando um erro.
Var, let e const
Escopo
As variáveis possuem escopo, por exemplo, se for declarado no escopo global, qualquer lugar pode ter acesso a essa variável, porém se for declarado dentro de uma função, apenas essa função irá ter acesso ao seu valor.
Hoisting
Quando o javascript compila todo o seu código, todas as declarações que estão utilizando var, são levadas para o topo do código. A declaração em si fica no topo mas a atribuição fica no mesmo local.
Esse código acima, é equivalente ao debaixo, ou seja, a declaração sobre para o topo.
Last updated
Was this helpful?