Quais são as diferenças entre as variáveis criadas usando `let`, `var` ou `const`?
Topics
JavaScript
Edit on GitHub
Variáveis declaradas usando a palavra-chave var
têm escopo à função na qual foram criadas, ou se criadas fora de qualquer função, ao objeto global. let
and const
são block scoped, o que significa que eles só são acessíveis dentro do conjunto mais próximo de chaves (função, bloco if-else ou for-loop).
'var' permite que as variáveis sejam hoisted, o que significa que elas podem ser referenciadas no código antes de serem declaradas. 'let' e 'const' não permitirão isso, em vez disso, será lançado um erro.
Redeclarar uma variável com var
não causará um erro, mas let
e const
irá.
let
e const
diferem que let
permite reatribuir o valor da variável enquanto const
não.
Notas
- Como a maioria dos navegadores suportam
let
econst
atualmente, usarvar
não é mais recomendado. Se você precisa dar suporte a navegadores mais antigos, escreva seu código usandolet
e use um transpiler como o Babel para compilar seu código para uma sintaxe mais antiga.