Com o ECMAScript 2015, também conhecido por ES6, foi adicionado mais dois tipos de declarações de variáveis no JavaScript, sendo eles, o let e o const, fazendo assim com que o var não seja mais a única palavra chave para essa finalidade. Contudo, cada uma dessas palavras chaves, apesar de terem o mesmo objetivo, apresentam regras e comportamentos diferenciados entre elas. Abaixo, saberemos um pouco mais de cada uma e suas particularidades.
VAR
A declaração de variáveis através do var é a forma clássica do JavaScript, sendo ela a primeira a ser incorporada na linguagem.
var variavel = "Isso é uma variável!";
O var possui algumas características importantes. Ela não é limitada a um bloco, isso é, se ela for declarada ou utilizada antes de um bloco e seu valor sofrer alterações em blocos seguintes, as alterações do seu valor serão acatadas e mantidas. Exemplo:
var valor = "Esse é meu primeiro valor!";
console.log(valor);
function mudaValor() {
valor = "Esse é meu novo valor!";
}
mudaValor();
console.log(valor);
A saída desse código no console será:
Esse é meu primeiro valor!
Esse é meu novo valor!
Outra característica é que todas as variáveis declaradas são carregadas antes da execução do código, como se elas tivessem sido declaradas no topo do código fonte. Essa característica é chamada de hoisting. Desta forma, a utilização da palavra chave var pode aparecer depois da efetiva utilização da variável.
Exemplo de código:
variavel = "Olá Mundo!";
console.log(variavel);
var variavel = "Novo valor!";
console.log(variavel);
Saída no console:
Olá Mundo!
Novo valor!
LET
A declaração utilizando a palavra chave let já é mais moderna e sua principal característica é que ela é limitada ao bloco atual do código, conforme pode ser visto abaixo:
let variavel = "Esse é meu valor!";
console.log(variavel);
function umaNovaFuncao() {
let variavel = "Esse é meu valor dentro do bloco da função!";
console.log(variavel);
}
umaNovaFuncao();
console.log(variavel);
Saída no console:
Esse é meu valor!
Esse é meu valor dentro do bloco da função!
Esse é meu valor!
Não é necessário realizar a inicialização da variável no momento em que ela é declarada, mas diferentemente que no var, a declaração é necessária antes da utilização efetiva da variável, caso ao contrário irá ocorrer um erro na execução do código fonte. Segue um exemplo de declaração sem inicialização:
let variavel;
console.log(variavel);
variavel = "Olá Mundo!";
console.log(variavel);
Saída no console:
undefined
Olá Mundo!
CONST
Por fim, a última maneira de declarar uma variável é através do const. As principais características dele é que se faz necessário ser iniciado no momento da sua declaração e que a referência nele atribuída não pode ser modificada, isso é, não é possível atribuir um novo valor para ele.
Exemplo de utilização do const:
const variavel = "Eu não vou mudar!";
console.log(variavel);
const objeto = {nome: "Fernando"};
console.log(objeto.nome);
objeto.nome = "Larissa";
console.log(objeto.nome); // Isso é permitido, pois a referência do objeto continua a mesma, somente o atributo que houve modificação.
objeto = {nome: "João"}; // ERRO! Não é permitido. Tentativa de modificar a referência.
console.log(objeto.nome);
Saída no console:
Eu não vou mudar!
Fernando
Larissa
[...]\variaveis-const.js:10
objeto = {nome: "João"}; // ERRO! Não é permitido. Tentativa de modificar a referência.
^
TypeError: Assignment to constant variable.
[...]
Termino aqui esse artigo que descreveu como utilizar a declaração de variáveis através do var, let e const e quais são as principais características de cada uma dessas palavras chave dentro do JavaScript. Atualmente, o var tende a não ser mais utilizado, sendo o let seu substituto imediato para armazenar valores que podem ser modificados e o const para o caso de valores que não podem ser modificados durante a execução do código.
Espero que essas informações tenham sido úteis e caso tenham sugestões de temas ou considerações sobre esse artigo, não deixe de enviá-las através do menu "Contato" do blog ou através do LinkedIn.
Grande abraço!!!