Diferenças:
Você sabe qual a diferença entre var, let e const em JavaScript? Sabe como aplicá-las? Descubra tudo no artigo abaixo:
Variável, um breve resumo:
Uma variável referencia um espaço na memória, utilizado para guardar informações. Uma variável é um dos, se não o conceito mais importante em programação, e independe da linguagem de programação utilizada. Na variável, nós armazenamos um valor neste espaço de memória e informamos o seu tipo. Ela se chama variável, pois poderá ser alterada ao longo do tempo, ou seja, o valor é “variável”.
No JavaScript, não precisamos informar o tipo do dado armazenado na memória. Mas existem três tipos de variáveis no JavaScript, elas são:
-
var;
-
let;
-
const;
Agora vamos ver o conceito e aplicação de cada uma delas:
Var:
Em JavaScript, o escopo é dado por funções, e não por blocos. A palavra “var” garante a variável dentro do escopo onde ela foi declarada, ou seja, pode ser acessada de qualquer ponto dentro do código, como no exemplo abaixo:
// var está sendo declarado dentro do escopo da função function imprimeNome() { var nome = "Fulano"; } imprimeNome(); console.log('Meu nome é: ', nome);
Executando este código, a saída será “Uncaught ReferenceError: nome is not defined”.
Mas por que? Porque a variável nome não possui nenhum valor definido fora do escopo da função, ou seja, a variável nome só existe dentro da função imprimeNome.
Segundo as boas práticas, o var está aos poucos sendo substituído pelo uso do let e const.
Let:
A palavra-chave “let” é usada para declarar as variáveis com escopo de bloco. Ou seja, quando é declarada dentro de qualquer bloco, seja ele uma função, uma condicional ou um loop, ela ficará acessível apenas dentro do bloco do qual foi declarada.
Seu comportamento é igual ao da variável “var” quando ela for declarada fora de função, no escopo global. Observe o exemplo abaixo:
// variável let a declarada no escopo global e // variável let b declarada no escopo da função let a = "fulano"; function imprimeNome() { let b = "ciclano"; if (a != b) { console.log("Seu nome é ", a, "ou", b, "?"); } } imprimeNome();
Executando o código acima, a saída será: Seu nome é fulano ou ciclano?
Mas por que funcionou? Veja bem, o let possui escopo global e também é acessível dentro da função, portanto, poderá ser acessada e retornar os seus valores.
Const:
A palavra-chave “const” indica uma variável que possui o valor fixo, uma constante. Não significa que é imutável, mas sim, que a constante não poderá ser alterada. A constante pode ser declarada tanto ao escopo global, quando em uma função, funcionando de maneira parecida com o “let”, com a diferença que o “const” terá um valor constante. Veja no exemplo a seguir:
// variável const declarada no escopo global const valor = 12; function imprimeValor(){ for(valor = 12; valor < 15; valor++){ console.log('Valor: ', valor); } } imprimeValor();
Executando o código, o retorno será um erro: Uncaught TypeError: Assignment to constant variable. Isso acontece porque o laço for incrementará a constante, alterando o seu valor.
Gostou deste artigo? Deixe sua opinião nos comentários!