JavaScript is a powerful programming language that was officially introduced in 1995, and it has undergone significant evolution since its inception. It started with its use in the Mosaic browser and Netscape, and later was adopted by Microsoft[1], leading to a browser war due to compatibility issues. JavaScript was standardized by Ecma International, leading to the release of ECMAScript, which has several versions. It is widely used in client-side scripting, with a majority of websites using it to enable dynamic content, animations, and more. JavaScript also powers server-side applications and embedded systems, thanks to the introduction of platforms like Node.js. Its execution relies on JavaScript engines, with the V8 engine being a prominent example. Despite being a trademark of Oracle Corporation, JavaScript is open-source and adheres to ECMAScript implementations, offering features like structured and imperative programming.
JavaScript (/ˈdʒɑː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.
Paradigm | Multi-paradigm: event-driven, functional, imperative, procedural, object-oriented |
---|---|
Designed by | Brendan Eich of Netscape initially; others have also contributed to the ECMAScript standard |
First appeared | December 4, 1995 |
Stable release | |
Preview release | |
Typing discipline | Dynamic, weak, duck |
Filename extensions |
|
Website | ecma-international |
Major implementations | |
V8, JavaScriptCore, SpiderMonkey, Chakra | |
Influenced by | |
Java, Scheme, Self, AWK, HyperTalk | |
Influenced | |
ActionScript, ArkTS, AssemblyScript, CoffeeScript, Dart, Haxe, JS++, Opa, TypeScript | |
|
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. 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.