<p id="Test1"></p> <p id="Test2"></p> <p id="Test3"></p> <script> { let v; v = 10; } let g = 20; var h = 15; document.getElementById('Test1').innerHTML = v; document.getElementById('Test2').innerHTML = g; document.getElementById('Test3').innerHTML = h; </script>Por lo que aprendí, las variables declaradas let no se pueden usar fuera de un alcance bloqueado, pero si ejecuto el código anterior, ¿no se muestra ninguno de los 3? ¿porqué es eso? el alcance terminó allí, ¿verdad?
Cuando ocurre un error, JavaScript normalmente se detendrá y generará un mensaje de error. El término técnico para esto es: JavaScript lanzará una excepción (lanzar un error). JavaScript realmente creará un objeto de error con dos propiedades: nombre y mensaje. ** ASÍ QUE AQUÍ TAN PRONTO COMO EL COMPILADOR INTENTE MOSTRAR el error de lanzamiento del compilador "v" js **
let g = 20; var h = 15; { let v; v = 10; } //document.getElementById('Test1').innerHTML = v; document.getElementById('Test2').innerHTML = g; document.getElementById('Test3').innerHTML = h; <p id="Test1"></p> <p id="Test2"></p> <p id="Test3"></p>** CASO 2** ** TRATÉ DE ACCEDER AL VALOR v COMO ÚLTIMO, AHORA PUEDE VER EL VALOR DE g y h como FUE EJECUTADO ANTES DEL ERROR PROPORCIONADO POR EL COMPILADOR.
let g = 20; var h = 15; { let v; v = 10; } document.getElementById('Test2').innerHTML = g; document.getElementById('Test3').innerHTML = h; document.getElementById('Test1').innerHTML = v; <p id="Test1"></p> <p id="Test2"></p> <p id="Test3"></p>JavaScript es un lenguaje de subproceso único, donde solo se ejecuta un comando a la vez. Tiene un modelo de ejecución Synchronous, donde cada línea se ejecuta línea por línea, de arriba hacia abajo.
UNIDAD Y A MENOS QUE HAYA FUNCIONES VENIDAS COMO FIJAR TIEMPO DE ESPERA O FUNCIÓN ASINCRONIZADA . QUE SE EJECUTA DE MANERA DIFERENTE.