JavaScript


JavaScript
Paradigmevent-driven, functional, imperative
Designed byBrendan Eich initially, plus other key contributors to the ECMAScript specification
First appearedDecember 4, 1995 (1995-12-04)[1]
Stable release
ECMAScript 2020[2] / June 2020 (2020-06)
Preview release
ECMAScript 2021
Typing disciplineDynamic, weak, duck
Filename extensions
  • .js
  • .cjs
  • .mjs[3]
Major implementations
V8, JavaScriptCore, SpiderMonkey, Chakra
Influenced by
Java,[4][5] Scheme,[5] AWK,[6] HyperTalk[7]
Influenced
TypeScript, CoffeeScript, AssemblyScript, ActionScript, Dart, Objective-J, Opa, Haxe

JavaScript (/ˈɑːvəˌskrɪpt/),[8] often abbreviated as JS, is a programming language that conforms to the ECMAScript specification.[9] JavaScript is high-level, often just-in-time compiled, and multi-paradigm. It has curly-bracket syntax, dynamic typing, prototype-based object-orientation, and first-class functions.

Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web.[10] Over 97% of websites use it client-side for web page behavior,[11] often incorporating third-party libraries.[12] All major web browsers have a dedicated JavaScript engine to execute the code on the user's device.

As a multi-paradigm language, JavaScript supports 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.

JavaScript engines were originally used only in web browsers, but they are now core components of other software systems, most notably servers and a variety of applications.

  1. ^ Press release announcing JavaScript, "Netscape and Sun announce JavaScript", PR Newswire, December 4, 1995
  2. ^ "Standard ECMA-262". Ecma International. June 17, 2020.
  3. ^ "nodejs/node-eps". GitHub.
  4. ^ Seibel, Peter (September 16, 2009). Coders at Work: Reflections on the Craft of Programming. ISBN 9781430219484. Retrieved December 25, 2018. Eich: The immediate concern at Netscape was it must look like Java.
  5. ^ a b Cite error: The named reference origin was invoked but never defined (see the help page).
  6. ^ "Brendan Eich: An Introduction to JavaScript, JSConf 2010". p. 22m. Retrieved November 25, 2019. Eich: "function", eight letters, I was influenced by AWK.
  7. ^ 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. CS1 maint: discouraged parameter (link)
  8. ^ "JavaScript". Collins English Dictionary – Complete & Unabridged 2012 Digital Edition. William Collins Sons & Co. 2012. Retrieved August 21, 2015.
  9. ^ "ECMAScript® 2020 Language Specification".
  10. ^ Flanagan, David. JavaScript - The definitive guide (6 ed.). p. 1. JavaScript is part of the triad of technologies that all Web developers must learn: HTML to specify the content of web pages, CSS to specify the presentation of web pages and JavaScript to specify the behaviour of web pages.
  11. ^ Cite error: The named reference deployedstats was invoked but never defined (see the help page).
  12. ^ Cite error: The named reference lib_usage was invoked but never defined (see the help page).

Powered by 654 easy search