JavaScript, commonly abbreviated as JS, is a programming language focused on web development.
JavaScript Description
JavaScript is a multi-purpose, multi-paradigm, interpreted programming language.
It is extensively used on web development as a programming language for the front-end and back-end functionality.
When building a websites, there are different technologies involved and each one has a function. A summary of these technologies and its place for JavaScript is described below:
- HTML defines what are the components within a page
- CSS defines how the components look like
- JavaScript (or any alternative front-end and back-end programming languages) defines how these components react to user interaction
Apart from websites, desktop and mobile applications can also be created using JavaScript, though it was not its original purpose, through the use of specific frameworks.
JavaScript is interpreted, i.e., it is real-time compiled. Modern web browsers are able to render HTML 5 code (including JavaScript) locally and display the web with all its functionality to the user. Alternatively, the code can be run in a web server such as Node.js.
JavaScript Context
JavaScript was originally developed by Brendan Eich, while he was working at Netscape. It was first release in 1995.
As of 2023, JavaScript is maintained by ECMA.
The JavaScript trademark is owned by Oracle. The name is colloquially used to refer to the programming language and that it is actually an implementation of the standard by Oracle that is trademarked.
The programming language was known as LiveScript on its first releases before it changed to JavaScript to exploit the Java popularity. Nevertheless, LiveScript is nowadays a functional programming language that transpiles to JavaScript, so LiveScript is not a good candidate as a neutral term to refer to the programming language.
The name of the neutral standard that defines JavaScript is called ECMAscript. However, this term is not usually used besides referring to the standard itself, not the programming language.
JavaScript Influence
Main syntax is influenced from Java.
First class functions are influenced from Scheme.
The prototype-based inheritance from Self.
JavaScript Standard
JavaScript is a trademark owned by American company Oracle, as of 2024. It was originally registered by Sun Microsystems.
Though JavaScript is generally used to refer to the programming language, it is actually the name of a specific implementation of a standard.
ECMAScript, sometimes abbreviated as ES, is a standard for scripting languages, including JavaScript, JScript, and ActionScript.
ECMAScript is standardized through the organization Ecma International in the document ECMA-262. You can read the latest version of this document on this external link.
Web browsers and Node apply the ECMAScript standard using their own implementations.
There are different versions of ECMAScript standard. One of the major changes was introduced in 2015, so all these modern ECMAScript versions are colloquially referred as JavaScript ES201x or ES201*.
To ensure backwards compatibility, JavaScript written using ES201x standards (“next-gen”) can be downgraded to a more universal ECMAScript version (“browser-compatible”).
JavaScript Extensions
JavaScript extensions are languages that extend the JavaScript language.
JavaScript extensions featured on this post:
- TypeScript
- Flow
Flow is a static type checker for JavaScript. Do not confuse it with the programming language FLOW.
JavaScript IDEs
JavaScript IDEs:
- Visual Studio Code
- WebStorm
- Sublime Text
JavaScript Documentation and References
You can find the JavaScript entry at Mozilla Developer Network on this external link.
Learning JavaScript
You can find learning resources for JavaScript on Mozilla Developer Network on this external link.
You can read this article about source code repositories to master JavaScript on this external link.
JavaScript Runtime
Node.js is a JavaScript runtime environment.
You can read more on this post about Node.js.
JavaScript Tools
JavaScript tools:
- Runtime environment
- Node.js
- Package manager
- npm
- Gulp
- Serve
Node.js
Node.js is a JavaScript runtime environment. It allows to run code from an OS, without the need of a browser.
It is mandatory to use an application like Node.js for back-end functionality written in JavaScript, such as a back-end Java framework.
The JavaScript back-end framework Node.js relies on nvm.
npm
npm is a package manager to install Node.js modules.
It is used to install other tools referred in this section.
npm modules can be installed.
When run without any arguments, npm install
reads the package.json file in your project and installs all the packages listed as dependencies (and their own dependencies) into a node_modules folder. This is crucial for setting up a new project or making sure you have the right version of everything.
Gulp
Gulp is a JavaScript-based toolkit used for automating tasks in web development, particularly front-end workflows.
serve
serve is a JavaScript server-side framework for building server-rendered user interfaces.
It is based on Node.js.
It is installed through npm.
JavaScript Frameworks
Web frameworks:
- Front-end
- React
- Back-end
- Express.js
- Nestjs
- Fastify
- Fullstack
- Meteor.js
Desktop app frameworks for JavaScript:
- Electron
- Tauri
- nw.js.
Mobile app frameworks for JavaScript:
- Capacitor
JavaScript Documentation
JSDoc is a syntax to generate JavaScript documentation.
You might also be interested in…
External references
- Mozilla Developer Network; “JavaScript“; Mozilla Developer Network
- Ecma International; “ECMA-262“; Ecma International
- Babel; “Babel“; Babel
- Learning
- Sumit Saraubh; “10 GitHub repositories to achieve JavaScript mastery“; dev.to/novu