Sé que JavaScript ejecuta bucles sincrónicamente. Entonces, no entiendo por qué en el siguiente código, la alerta se ejecuta antes del final del ciclo for. Esperaba que js primero completara el ciclo y luego ejecutara la función de alerta. En su lugar, el ciclo for comienza a llamar a console.log("loop"), y después de un par de segundos, la alerta se ejecuta mientras que al mismo tiempo console.log continúa imprimiendo el texto "loop".
for(let i=0; i<100000; i++){ console.log("loop"); } alert("hello world");