The focus of this chapter has been the web browser platform and JavaScript's place within it. There are a lot of events taking place whenever we view and interact with web pages. These are processed as tasks, taken from queues. One such task is invoking the JavaScript interpreter with code to run.
When the JavaScript interpreter runs, it contains an execution context stack. A function, a module, and global script code—these are all examples of JavaScript execution contexts. The interpreter also has it's own internal job queues; one is used to create new execution context stacks, and another is used for calling promise resolution callback functions.
We wrote some code that manually created tasks using the setTImeout()
function and explicitly demonstrated how long-running JavaScript code can be problematic for these tasks. We then looked at the EventTarget
interface, used to listen to DOM events, and to network requests, amongst other things we didn't look at in this chapter, like web...