JavaScript se creó originalmente para dotar de interactividad a páginas HTML. Aunque es de un solo hilo, permite ejecutar código de manera asíncrona mediante callbacks y eventos para evitar que aplicaciones complejas se vuelvan inutilizables. El bucle de eventos maneja la cola de mensajes y el stack para la ejecución asíncrona, mientras que los Web Workers permiten usar múltiples hilos de forma independiente al flujo principal.