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, duck |
Filename extensions |
|
Major implementations | |
V8, JavaScriptCore, SpiderMonkey, Chakra | |
Influenced by | |
AWK,[4] C, HyperTalk, Java,[5] Lua, Perl, Python, Scheme, Self | |
Influenced | |
ActionScript, AtScript, CoffeeScript, Dart, JScript .NET, LiveScript, Objective-J, Opa, QML, Raku, TypeScript | |
|
Part of a series on |
JavaScript |
---|
Language |
Libraries |
Implementations |
See also |
JavaScript (/ˈdʒɑːvəˌskrɪpt/),[6] often abbreviated as JS, is a programming language that conforms to the ECMAScript specification.[7] 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. It is a zero-index programming language.
Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web.[8] JavaScript enables interactive web pages and is an essential part of web applications. The vast majority of websites use it for client-side page behavior,[9] and all major web browsers have a dedicated JavaScript engine to execute it.
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). However, ECMAScript itself does not include any input/output (I/O), such as networking, storage, or graphics facilities, as the host environment (usually a web browser) provides those APIs.
JavaScript engines were originally used only in web browsers, but they are now embedded in some servers, usually via Node.js. They are also embedded in a variety of applications created with frameworks such as Electron and Cordova.
Although there are similarities between JavaScript and Java, including language name, syntax, and respective standard libraries, the two languages are distinct and differ greatly in design.
Eich: "function", eight letters, I was influenced by AWK.
Eich: The immediate concern at Netscape was it must look like Java.
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).