Outline of the JavaScript programming language
Appearance
| Part of a series on |
| Software development |
|---|
The following outline is provided as an overview of and topical guide to JavaScript:
JavaScript (JS)[a] is a programming language and core technology of the Web, alongside HTML and CSS. Created by Brendan Eich in 1995,[1] it is maintained by Ecma International's TC39 technical committee,[2] with related Web APIs maintained by W3C and WHATWG.[3] As of 2025, JavaScript is the most widely used programming language on GitHub.[b][4]
What type of language is JavaScript?
[edit]- Programming language – artificial language designed to communicate instructions to a machine, more so a computer.
- High-level programming language – a programming language with strong abstraction from the details of the computer, such as having words, making it closer to natural language and easier to use than low-level programming languages (which are much more cryptic).
- Compiled language – source code is converted (compiled) to an intermediate representation to be run.
- Interpreted language – bytecode is executed by a virtual machine, which performs just-in-time compilation.
- Dynamic programming language – allows various operations to be determined and executed at runtime, such as declaring data types, unlike in static languages, where the structure and types are fixed during compiling.
- Multi-paradigm programming language – A programming paradigm is a relatively high-level way to conceptualize and structure the implementation of a computer program. JavaScript supports many paradigms.
- Scripting language – programming language that is used for scripting, which is the act of writing a script, which is a relatively short and simple set of instructions which automate an otherwise manual process.
- Event-driven programming language – the flow of programs is determined by external events, such as inputs from mice, keyboards, touchpads and touchscreens, and external sensors.
- Imperative programming language – code directly controls execution flow and state change, explicit statements that change a program state
- Procedural programming language – organized as procedures that call each other
- Object-oriented programming language – organized as objects that contain both data structure and associated behavior, uses data structures consisting of data fields and methods together with their interactions (objects) to design programs
- Class-based programming language – supports object-oriented programming in which inheritance is achieved by defining classes of objects, versus the objects themselves
- Prototype-based programming language – includes object-oriented programming that avoids classes and implements inheritance via cloning of instances
- Declarative programming language – its code declares properties of the desired result, but not how to compute it, describes what computation should perform, without specifying detailed state changes
- Functional programming language – a desired result is declared as the value of a series of function evaluations, uses evaluation of mathematical functions and avoids state and mutable data
- Compiled language – source code is converted (compiled) to an intermediate representation to be run.
- High-level programming language – a programming language with strong abstraction from the details of the computer, such as having words, making it closer to natural language and easier to use than low-level programming languages (which are much more cryptic).
- Dynamic, duck – type checking is performed at runtime.
- Weakly typed language – enforces type rules at runtime.
History of JavaScript
[edit]- ECMAScript version history
- Failed proposals
- Former tools
- Persons notable for developing JavaScript
Javascript fundamentals
[edit]Issues and limits
[edit]Specifications of the language
[edit]- ECMAScript – this specification defines and standardizes the JavaScript language, such as its vernacular, syntax, and so on.
- ECMAScript version history
- Ecma International – the non-profit organization responsible for ECMAScript and many other communication standards.
Where JavaScript works (its runtime environments)
[edit]JavaScript works mainly in two main types of runtime environments:
- in web browsers, which power JavaScript from webpages using a JavaScript engine. This is referred to as being client-side.[5]
- on Web servers, referred to as being server-side
Adaptive web design
[edit]JavaScript toolchain
[edit]Libraries
[edit]Package managers
[edit]Bundlers
[edit]Transpilers
[edit]Linters and formatters
[edit]Testing tools
[edit]Build and development tools
[edit]General JavaScript concepts
[edit]- JavaScript templating
- CommonJS
- Comparison of JavaScript charting libraries
- CSS-in-JS
- Immediately invoked function expression
- Isomorphic JavaScript
- Prototype pollution
- Unobtrusive JavaScript
- Variable hoisting
JavaScript dialects and related languages
[edit]- ActionScript – Object-oriented programming language created for the Flash multimedia platform
- AssemblyScript – TypeScript-based programming language
- ClojureScript – Dialect of the Lisp programming language on the Java platform
- CoffeeScript – Programming language which compiles to JavaScript
- Dart – Programming language
- Elm – Functional programming language
- Embedded JavaScript (EJS) – Webpage templating language using JavaScript
- Haxe – Cross-platform programming language
- JavaScript XML (JSX) – JavaScript syntax extension
- JS++ – Web programming language
- LiveScript – Functional programming language
- Nim – Programming language
- Opa – Programming language for developing scalable web applications
- PureScript – Strongly typed language that compiles to JavaScript
- Reason – Syntax extension and toolchain for OCaml
- ReScript – Programming language that compiles to JavaScript
- TypeScript – Programming language and superset of JavaScript
JavaScript organizations
[edit]JavaScript publications
[edit]Books about JavaScript
[edit]- DOM Scripting – Jeremy Keith
- Eloquent JavaScript – Marijn Haverbeke
- How JavaScript Works – Douglas Crockford
- JavaScript Bible – Danny Goodman
- JavaScript: The Good Parts – Douglas Crockford
- Laura Lemay's Web Workshop: JavaScript – Laura Lemay
- Learn to Program with JavaScript – John Smiley
- Pro JavaScript Techniques and Secrets of the JavaScript Ninja – John Resig
JavaScript programmers
[edit]See also
[edit]- Index of JavaScript-related articles
- Comparison of programming languages
- List of programmers
- Outline of computer programming
- Outline of software
- Outline of software engineering
- Outlines of other programming languages
- Outline of the C programming language
- Outline of the C sharp programming language
- Outline of the C++ programming language
- Outline of the Java programming language
- Outline of the Perl programming language
- Outline of the Python programming language
- Outline of the Rust programming language
Notes
[edit]- ^ /ˈdʒɑːvəskrɪpt/ ⓘ
- ^ Figure includes TypeScript, a strict syntactical superset of JavaScript that compiles to JavaScript. GitHub's 2025 Octoverse report groups the two languages together when measuring combined usage.
References
[edit]- ^ "Chapter 4. How JavaScript Was Created". speakingjs.com. Archived from the original on 2020-02-27. Retrieved 2017-11-21.
- ^ "TC39 - Specifying JavaScript". tc39.es. Retrieved 25 April 2026.
- ^ "JavaScript technologies overview - JavaScript | MDN". MDN Web Docs. 27 October 2025. Retrieved 25 April 2026.
- ^ GitHub (October 28, 2025). "Octoverse 2025: A new developer joins GitHub every second as AI leads TypeScript to #1". The GitHub Blog. Chart: "JavaScript & TypeScript have the largest combined usage". Retrieved 2026-04-25.
- ^ "What do client side and server side mean? | Client side vs. server side". Cloudflare.
External links
[edit]- "JavaScript: The First 20 Years". Retrieved 2022-02-06.
Free learning resources
[edit]- MDN Web Docs – JavaScript – The official and most authoritative JavaScript documentation by Mozilla, including tutorials, references, and examples for all levels.
- Eloquent JavaScript – Online Book – Highly regarded free book by Marijn Haverbeke that introduces JavaScript concepts through engaging examples and exercises.
- The Modern JavaScript Tutorial – A comprehensive and interactive guide covering modern JavaScript, from basics to advanced topics, maintained and continuously updated by the community.
- The Odin Project – Full Stack Curriculum – A full open-source curriculum covering JavaScript through practical, real-world projects.
- Awesome JavaScript Learning List – GitHub – A curated list of JavaScript tutorials, books, and courses maintained by the developer community.