JavaScript · Essencial · Inglês · Técnico
let
Declara uma variável de escopo de bloco que pode ser reatribuída e que fica inacessível até a linha da declaração ser executada.
Onde usar
Entra em laços e contadores, onde o valor muda a cada volta. Num for com let, cada iteração ganha sua própria cópia da variável, o que evita o clássico bug de closures em loops.
Em código
for (let i = 0; i < 3; i++) {
setTimeout(() => console.log(i));
}
// imprime 0, 1 e 2Exemplos
I need let here because the counter changes on every loop.
Preciso de let aqui porque o contador muda a cada volta do laço.
Each iteration of a let loop gets its own copy of i.
Cada iteração de um laço com let ganha a sua própria cópia de i.
Cuidado
Usar let por hábito quando o valor nunca muda; nesse caso o certo é const.
Origem
Do inglês let, 'deixe', herdado de linguagens como Scheme e BASIC.