> For the complete documentation index, see [llms.txt](https://isubasinghe.gitbook.io/isithas-wiki/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://isubasinghe.gitbook.io/isithas-wiki/software_engineering/languages/javascript.md).

# JavaScript

## Basic idea

Dynamically typed, prototype-based, single-threaded event-loop language born in Netscape (Eich, 1995). Standardised as ECMAScript; ubiquitous on browsers, Node.js, and edge runtimes.

## Key facts

* Year / creator: 1995, Brendan Eich at Netscape; standard ECMAScript.
* Paradigm: multi-paradigm; first-class functions, prototypes, classes (sugar), async.
* Typing: dynamic, weak; many implicit conversions.
* Engines: V8 (Chrome/Node), SpiderMonkey, JavaScriptCore.
* Concurrency: single-threaded event loop + async/await + Web Workers.
