JavaScript
ECMAScript family · 1995Actively developedThe language of the web, with first-class functions and a dynamic object model.
Object-oriented · Functional · Event-driven
Links
- Homepage
- https://tc39.es/
- Reference / standard
- https://tc39.es/ecma262/
- Standards discussion
- https://es.discourse.group/
- Wikipedia (English)
- https://en.wikipedia.org/wiki/JavaScript
Tracked release
- Version
- ECMAScript 2026
- Artifact
- Language standard
- Published
- 2026-06
- Source checked
- 2026-10-22
Use & ecosystem
- Suited for
- Web backends, Frontend UIs, Desktop applications, Mobile applications, CLI tools / automation
- Family / tradition
- Dynamic scripting, ECMAScript
- Maturity
- Established
- Ecosystem breadth
- Broad
Standardization and sustained independent use across browsers, servers and application tooling support Established and Broad. Package quantity alone is not evidence of quality, and individual packages may remain unstable.
Industry & practical use
JavaScript is the browser’s built-in programming language and is also used for server applications and tooling through runtimes such as Node.js. Electron supplies desktop application packaging; React Native provides a native mobile UI workflow. Browser and server APIs differ even when the language is the same.
Compilers, libraries & tooling
Multiple browser engines implement ECMAScript. Node.js, npm and a large collection of frameworks support application development outside the browser. The language is established, but framework and dependency release cycles can be much faster than the language standard’s evolution.
Platforms & deployment
- General toolchains
- Linux, Windows, macOS, Browser
- Specialized tooling
- Android, iOS
- Browser execution
- JavaScript
- Native cross-compilation
- Not the usual deployment model
Browsers execute JavaScript across desktop and mobile operating systems; Node.js serves common desktop/server targets. Android and iOS here mean native-app integration through frameworks such as React Native, listed separately from simply running a website in a mobile browser.
The normal delivery unit is JavaScript executed by a browser or runtime. Bundling JavaScript with an executable runtime is packaging, not general native cross-compilation; native add-ons and application wrappers introduce target-specific builds.
Project health & support
Ecma TC39 maintains ECMAScript through a public proposal process with participation from implementers and the community. Browser vendors maintain their own engines. Node.js has its own open governance under the OpenJS Foundation, so support policies belong to the selected runtime or framework.
Use, ecosystem & platform assessment reviewed 2026-10-22 · Sources below
History & origin
Brendan Eich created JavaScript at Netscape in 1995 for scripting web pages. Standardized as ECMAScript in 1997, it has grown into a general-purpose language used in browsers and server runtimes.
- Creators
- Brendan Eich, Netscape
- Origin
- 1995 — First public appearance; earlier development is noted below.
Influences & descendants
Influenced by
Influenced in this catalogue
Language features
- Typing
- Dynamic
- Execution
- JIT, Bytecode VM
- Block structure
- Explicit delimiters
- Semicolons
- Automatically inserted
- Lexical closures
- Yes
- Namespaced modules
- Yes
- Pattern matching
- No
- Macro system
- No built-in macro system
Implementation notes
- ECMAScript is the language standard; engines and runtimes have their own release cycles.
- Automatic semicolon insertion has specific rules; omission can change a program’s meaning.
- ES modules provide scoped bindings and namespace imports. Execution strategy depends on the engine.
Sources & references
- Language reference
- https://tc39.es/ecma262/
- History and background
- https://dl.acm.org/doi/10.1145/3386327
Use, ecosystem & platform sources
- Language specification and governance
- https://tc39.es/
- Server runtime
- https://nodejs.org/en/about
- Node.js governance
- https://nodejs.org/en/about/governance/
- Desktop applications
- https://www.electronjs.org/
- Mobile applications
- https://reactnative.dev/
See the classification definitions for implementation-dependent features. Influence links cover the entries documented here.