The Event Loop
JavaScript is a single-threaded language. Under standard execution, this means it can only run one specific process at a time. If you write a loop that takes 5 minutes to calculate, the entire program completely freezes for those 5 minutes.