Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

153
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!