JavaScript

JavaScript
Official logo of TC39, the technical committee responsible for maintaining JavaScript
Screenshot of JavaScript source code
ParadigmsMulti-paradigm: event-driven, functional, imperative, procedural, object-oriented
FamilyECMAScript
Designed byBrendan Eich of Netscape first; then others contributed to ECMAScript standard
First appeared4 December 1995 (1995-12-04)
Stable release
ECMAScript 2024 Edit this on Wikidata / June 2024 (June 2024)
Preview release
ECMAScript 2025 Edit this on Wikidata / 27 March 2024 (27 March 2024)
Typing disciplineDynamic, weak, duck
Memory managementGarbage collected
ScopeLexical
Filename extensions.js • .mjs • .cjs
Websiteecma-international.org/publications-and-standards/standards/ecma-262/
Major implementations
V8, JavaScriptCore, SpiderMonkey;
Chakra (deprecated)
Influenced by
Java, Scheme, Self, AWK, HyperTalk
Influenced
ActionScript, ArkTS, AssemblyScript, CoffeeScript, Dart, Haxe, JS++, Opa, TypeScript
  • Wikibooks logo JavaScript at Wikibooks

JavaScript (JS) is a programming language and core technology of the Web, alongside HTML and CSS. Created by Brendan Eich in 1995, it is maintained by Ecma International's TC39 technical committee, with related Web APIs maintained by W3C and WHATWG. As of 2025, JavaScript is the most widely used programming language on GitHub. However, TypeScript, which is a version of JavaScript that is strict about types and is statically typed, overtook JavaScript on GitHub by August 2025.

Web browsers have a dedicated JavaScript engine that executes the client code. These engines are also utilized in some servers and a variety of apps. The most popular runtime system for non-browser usage is Node.js.

JavaScript is a high-level, often just-in-time–compiled language that conforms to the ECMAScript standard. It has dynamic typing, prototype-based object-orientation, and first-class functions. It is multi-paradigm, supporting event-driven, functional, and imperative programming styles. It has application programming interfaces (APIs) for working with text, dates, regular expressions, standard data structures, and the Document Object Model (DOM).

The ECMAScript standard does not include any input/output (I/O), such as networking, storage, or graphics facilities. In practice, the web browser or other runtime system provides JavaScript APIs for I/O.

Although Java and JavaScript are similar in name and syntax, the two languages are distinct and differ greatly in design.