Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

154
Visualizações
Elevación de let, const con inicialización separada

En Documentaion se dice que let y const se izan.

Las variables declaradas con let y const también se elevan pero, a diferencia de var, no se inicializan con un valor predeterminado. Se lanzará una excepción si se lee una variable declarada con let o const antes de que se inicialice.

También hay una muestra bastante clara allí:

 console.log(num); // Throws ReferenceError exception as the variable value is uninitialized let num = 6; // Initialization

Pero no entiendo por qué esto aumenta el ReferenceError también:

 x = 9 console.log(x) // Why: "Throws ReferenceError exception as the variable value is uninitialized" here ? let x;

Las especificaciones dicen 'let' admite izaje. La inicialización va antes de usar esta variable. ¿Qué ocurre? Si el motivo de ReferenceError es TDZ, ¿por qué en las especificaciones dice que 'let' admite hoising, porque TDZ y hoising son cosas mutuamente excluyentes ... Y cuál podría ser un ejemplo de hoising para 'let' si no puedo usar esta variable antes de la declaración...

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

¿Por qué lanza la excepción ReferenceError ya que el valor de la variable no está inicializado aquí, en la línea console.log ?

no lo hace Lo lanza al acceder a la variable, que incluye la asignación:

 x = 9; // exception happens here already! let x;

No puede usar una variable no inicializada en absoluto. Solo se inicializa cuando se evalúa la instrucción let / const .

¿Cuál podría ser un ejemplo de elevación de 'let' si no puedo usar esta variable antes de la declaración?

No puede usarlo, pero puede hacer referencia a él, por ejemplo, creando un cierre sobre él:

 function log() { console.log(x); } // log(); - would fail here let x = 9; log();

También significa que referirse a x en realidad se referirá a esa variable no inicializada, no a otra x de un ámbito externo. Consulte ¿Se declaran las variables con let o const izadas? para más.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda