Paradigm | event-driven, functional, imperative |
---|---|
Designed by | Brendan Eich initially, plus other key contributors to the ECMAScript specification |
First appeared | December 4, 1995[1] |
Stable release | ECMAScript 2020[2]
/ June 2020 |
Preview release | ECMAScript 2021
|
Typing discipline | Dynamic, weak, duck |
Filename extensions |
|
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 (/ˈdʒɑː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.
Eich: The immediate concern at Netscape was it must look like Java.
origin
was invoked but never defined (see the help page).
Eich: "function", eight letters, I was influenced by AWK.
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.
deployedstats
was invoked but never defined (see the help page).
lib_usage
was invoked but never defined (see the help page).