Allysson Santos

Front-end Developer

Javascript Basics 4 - Variável com Let.

Introdução:

Entenda como funcionam as variáveis através da palavra-chave let, incluida na nova especificação do JavaScript (ES6).

Javascript Basics 4 - Variável com Let.
Nível: iniciante

Variável let no JS

Na especificação do EcmaScript mais recente foi introduzido a nova palavra-chave let, que é uma nova maneira de se declarar variáveis.

Declarando uma variável com let, temos alguns comportamentos diferentes de quando declaramos com a palavra-chave var, essas diferenças são:

Variável com o mesmo nome:

Com let, não podemos declarar uma váriavel com o mesmo nome de uma já definida dentro do escopo atual, veja o exemplo:

1
2
var nome = 'allysson';
let nome = 'santos';

Caso a gente faça isso, receberemos um belo de um erro na cara:

Uncaught SyntaxError: Identifier 'nome' has already been declared

Ou seja, se estivermos no mesmo escopo, nós não conseguiremos criar uma variável de mesmo nome, só podemos ter uma variável de mesmo nome.

Escopo em blocos

Vimos que não podemos ter duas variáveis com o mesmo nome usando let, MAS e se fizéssemos isso?

1
2
3
4
5
6
7
let nome = 'allysson';
console.log(nome);
{
  let nome = 'santos';
  console.log(nome);
}
console.log(nome);

Primeiro, não teriamos mais nenhum erro de declaração de variáveis, pois o let tem escopo delimitado por blocos. Mas, quais valores seriam imprimidos no console? A primeira variável nome, declarada na linha 1, não tem nenhuma ligação com a variável nome da linha 4, portanto, nossa saída do console seria a seguinte:

1
2
3
allysson
santos
allysson

Sendo assim, é muito útil quando queremos criar variáveis dentro de blocos de condições, como if, while, for, e não queremos correr o risco dessas variáveis serem sobrescritas em outros trechos de códigos, assim, garantimos que essa variável existirá uma única vez dentro desse escopo e que ela não será sobrescrita fora desse escopo.

comments powered by Disqus