From Wikipedia, the free encyclopedia

JavaScript
ParadigmMulti-paradigm: event-driven, functional, imperative, object-oriented (prototype-based)
Designed byBrendan Eich
DeveloperNetscape Communications Corporation, Mozilla Foundation, Ecma International
First appearedDecember 4, 1995
Stable release
ECMAScript 2018 / June 2018; 9 months ago
Preview release
ECMAScript 2019
Typing disciplineDynamic, duck
Filename extensions
  • .js
  • .mjs
WebsiteMozilla
Major implementations
V8, JavaScriptCore, Rhino, SpiderMonkey, Chakra
Influenced by
AWK, C, HyperTalk, Java, Lua, Perl, Python, Scheme, Self
Influenced
ActionScript, AtScript, CoffeeScript, Dart, JScript .NET, LiveScript, Objective-J, Opa, Perl 6, QML, TypeScript
JavaScript
Filename extension.js
Internet media type
  • application/javascript
  • text/javascript (obsolete)
Uniform Type Identifier (UTI)com.netscape.javascript-source 
Developed byBrendan Eich
Type of formatScripting language

JavaScript (/ˈɑːvəˌskrɪpt/), often abbreviated as JS, is a high-level, interpreted programming language that conforms to the ECMAScript specification. It is a programming language that is characterized as dynamic, weakly typed, prototype-based and multi-paradigm.

Alongside HTML and CSS, JavaScript is one of the core technologies of the World Wide Web. JavaScript enables interactive web pages and is an essential part of web applications. The vast majority of websites use it, and major web browsers have a dedicated JavaScript engine to execute it.

As a multi-paradigm language, JavaScript supports event-driven, functional, and imperative (including object-oriented and prototype-based) programming styles. It has APIs for working with text, arrays, dates, regular expressions, and the DOM, but the language itself does not include any I/O, such as networking, storage, or graphics facilities. It relies upon the host environment in which it is embedded to provide these features.

Initially only implemented client-side in web browsers, JavaScript engines are now embedded in many other types of host software, including server-side in web servers and databases, and in non-web programs such as word processors and PDF software, and in runtime environments that make JavaScript available for writing mobile and desktop applications, including desktop widgets.

The terms Vanilla JavaScript and Vanilla JS refer to JavaScript not extended by any frameworks or additional libraries. Scripts written in Vanilla JS are plain JavaScript code.

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. JavaScript was influenced by programming languages such as Self and Scheme.

History