let, const y la zona muerta en JavaScript
Alcance de bloque, y por qué un let es inusable antes de su declaración.
function scoping() {
const results = [];
if (true) {
var leaks = "function scoped";
let contained = "block scoped";
results.push(contained);
}
results.push(leaks);
try {
early;
let early = 1;
} catch (error) {
results.push(error.constructor.name);
}
const config = { theme: "dark" };
config.theme = "light"; // permitido: la vinculación es const, no el objeto
results.push(config.theme);
return results;
}
console.log(scoping());
Cómo funciona
letyconsttienen alcance de bloque;var, de función.- Tocar un
letantes de su línea lanza un ReferenceError. constcongela la vinculación, no el objeto al que apunta.
Palabras clave y builtins usados aquí
catchconstconstructorfunctionifletreturntryvar
El intento, en números
- Líneas
- 24
- Caracteres a escribir
- 433
- Tokens
- 106
- Ritmo de tres estrellas
- 80 tpm
Al ritmo de tres estrellas de 80 tokens por minuto, este intento toma unos 80 segundos.
Paso 2 de 5 en Vinculaciones y valores; paso 2 de 43 en Fundamentos del lenguaje.