How does the Event Loop work in JS?

A lot of people believe that simply knowing JavaScript is single-threaded is enough… However, truly understanding how the Event Loop works…