In other words, the JS engine has had no innate sense of time, but has instead been an on-demand execution environment for any arbitrary snippet of JS. It's the surrouding environment which has always scheduled "events" (JS code executions).

(You don't know JS - Async and performance)