How JavaScript works: The building blocks of Web Workers + 5 cases when you should use them