typestar

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

  1. let y const tienen alcance de bloque; var, de función.
  2. Tocar un let antes de su línea lanza un ReferenceError.
  3. const congela la vinculación, no el objeto al que apunta.

Palabras clave y builtins usados aquí

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.

Escribe este fragmento

Paso 2 de 5 en Vinculaciones y valores; paso 2 de 43 en Fundamentos del lenguaje.

← Anterior Siguiente →