JavaScript is a single-threaded and non-blocking language. The term “single threaded” refers to the fact that only one statement is executed at a time. A memory heap and a call stack are used by the JavaScript engine. The job of the call stack is to fill in the instructions and pop them as they are executed.