JavaScript

JavaScript
Screenshot of JavaScript source code
ParadigmMulti-paradigm: event-driven, functional, imperative, procedural, object-oriented
Designed byBrendan Eich of Netscape initially; others have also contributed to the ECMAScript standard
First appearedDecember 4, 1995 (1995-12-04)[1]
Stable release
ECMAScript 2023[2] Edit this on Wikidata / June 2023 (June 2023)
Preview release
ECMAScript 2025[3] Edit this on Wikidata / 28 February 2024 (28 February 2024)
Typing disciplineDynamic, weak, duck
Filename extensions
  • .js
  • .cjs
  • .mjs[4]
Websiteecma-international.org/publications-and-standards/standards/ecma-262/
Major implementations
V8, JavaScriptCore, SpiderMonkey, Chakra
Influenced by
Java,[5][6] Scheme,[6] Self,[7] AWK,[8] HyperTalk[9]
Influenced
ActionScript, ArkTS, AssemblyScript, CoffeeScript, Dart, Haxe, JS++, Opa, TypeScript

JavaScript (/ˈɑːvəskrɪpt/), often abbreviated as JS, is a programming language and core technology of the Web, alongside HTML and CSS. 99% of websites use JavaScript on the client side for webpage behavior.[10]

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.[11] 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, syntax, and respective standard libraries, the two languages are distinct and differ greatly in design.

  1. ^ "Netscape and Sun announce JavaScript, the Open, Cross-platform Object Scripting Language for Enterprise Networks and the Internet" (Press release). 4 December 1995. Archived from the original on 16 September 2007.
  2. ^ "ECMAScript® 2023 Language Specification". June 2023. Retrieved 2 March 2024.
  3. ^ "ECMAScript® 2025 Language Specification". 28 February 2024. Retrieved 2 March 2024.
  4. ^ "nodejs/node-eps". GitHub. Archived from the original on 29 August 2020. Retrieved 5 July 2018.
  5. ^ Seibel, Peter (16 September 2009). Coders at Work: Reflections on the Craft of Programming. Apress. ISBN 9781430219484. Archived from the original on 24 December 2020. Retrieved 25 December 2018. Eich: The immediate concern at Netscape was it must look like Java.
  6. ^ a b Cite error: The named reference origin was invoked but never defined (see the help page).
  7. ^ "Popularity – Brendan Eich".
  8. ^ "Brendan Eich: An Introduction to JavaScript, JSConf 2010". YouTube. p. 22m. Archived from the original on 29 August 2020. Retrieved 25 November 2019. Eich: "function", eight letters, I was influenced by AWK.
  9. ^ Eich, Brendan (1998). "Foreword". In Goodman, Danny (ed.). JavaScript Bible (3rd ed.). John Wiley & Sons. ISBN 0-7645-3188-3. LCCN 97078208. OCLC 38888873. OL 712205M.
  10. ^ "Usage Statistics of JavaScript as Client-side Programming Language on Websites". W3Techs. Retrieved 27 February 2024.
  11. ^ "ECMAScript® 2020 Language Specification". Archived from the original on 8 May 2020. Retrieved 8 May 2020.