JavaScript (JS) is a lightweight interpreted (or just-in-time compiled) programming language with first-class functions. While it is most well-known as the scripting language for Web pages, many non-browser environments also use it, such as Node.jsApache CouchDB and Adobe Acrobat. JavaScript is a prototype-based, multi-paradigm, single-threadeddynamic language, supporting object-oriented, imperative, and declarative (e.g. functional programming) styles.

JIT (Just-In-Time Compilation) is a compilation process in which code is translated from an intermediate representation or a higher-level language (e.g., JavaScript or Java bytecode) into machine code at runtime, rather than prior to execution. This approach combines the benefits of both interpretation and ahead-of-time (AOT) compilation.

first-class functions when functions in that language are treated like any other variable.

const foo = () => {
  console.log("foobar");
};
foo(); // Invoke it using the variable
// foobar

Prototype-based programming is a style of object-oriented programming in which classes are not explicitly defined, but rather derived by adding properties and methods to an instance of another class or, less frequently, adding them to an empty object.

In simple words: this type of style allows the creation of an object without first defining its class.

what the heck is thread ?

Thread in computer science is the execution of running multiple tasks or programs at the same time. Each unit capable of executing code is called a thread.

JavaScript is single-threaded, meaning it executes code sequentially, one operation at a time, within a single call stack. This design is primarily because JavaScript was created for web browsers, where it needed to interact with the DOM efficiently without race conditions.

How Single-Threading Works: