JavaScript Development Pages
JavaScript is a scripting language for computers. It is often run in web browser applications to create dynamic content.
Alongside HTML and CSS, it is one of the three core technologies of the World Wide Web and nearly all websites.
JavaScript was mostly used from within a web browser but with the release of Node.js it can now be used for desktop applications, command line tools and to power server side applications & websites.
JavaScript was originally developed in 10 days in May 1995 by Brendan Eich, while he was working for Netscape Communications Corporation.
It has been standardised in the ECMAScript language specification (Standard ECMA-262).
The current spec is the 15th Edition - 15th Edition (June 2023), known as ECMAScript 2024.
The ECMAScript website can be found at http://www.ecmascript.org/
Also Wikipedia have a good overview of the specs history at https://en.wikipedia.org/wiki/ECMAScript.
Node.js
Node.js® is a JavaScript-based environment built on Chrome's JavaScript runtime (V8) for easily building fast, scalable network applications with Javascript for both the server and the client.
Check out our Nodejs Page for more.
Transpilers
JavaScript is changing with ES6 (ECMAScript 2015), ES7 (ECMAScript 2016) & ES8 (ECMAScript 2017) but we don't have to wait years for the major browser manufacturers to catch up because we have transpilers today.
Transpilers allow us to write ES7 or above today but ship ES6 or ES5 Code that the browser can understand, this means we get all the new tooling support and features to speed up design and coding time.
But as browsers start to support more of ES7 you only need to change a config flag, then build & test to start shipping the new ES7 to the browsers.
The two main JavaScript transpilers in use today are:
TypeScript
TypeScript is a free and open source programming language developed and maintained by Microsoft. It is a strict superset of JavaScript, and adds optional static typing and class-based object-oriented programming to the language.
Anders Hejlsberg, lead architect of C# and creator of Delphi and Turbo Pascal, has also worked on the development of TypeScript.
TypeScript may be used to develop JavaScript applications for client-side or server-side (Node.js) execution.
TypeScript can be installed from the command line using NPM or used with an IDE say like WebStorm or Visual Studio but Visual Studio Code also has great support for TypeScript.
Check out our TypeScript Page & Visual Studio Code Page for more.
Babel
Babel has support for the latest version of JavaScript but does not offer the extra design time tooling features found in TypeScript.
The Babeljs website has some great docs to learn ES2015 (ES6) and to get Set up & running with Babel in various tools and editors.
Check out our Babel Page & Gulp Page for more.
This page was last updated on .
JavaScript Engines
- Chrome uses V8
- Microsoft Edge uses V8
- Firefox uses SpiderMonkey
- Safari uses JavaScriptCore (SquirrelFish/Nitro)
- Opera uses the Blink engine in combination with V8 ECMAScript support in Opera Presto 2.12
- Microsoft Edge used to useChakra but Microsoft Edge is now based on Chromium.
JavaScript Links
- Simplified JavaScript Jargon
- ES6 Compatibility Chart
- A site all about JavaScript.com
- MDN JavaScript Guide
- jQuery - A small and feature-rich JavaScript library
- TypeScript Language
- Babel is a JavaScript compiler
- MDN - A re-introduction to JavaScript (JS tutorial)
- ECMAScript 6 - New Features: Overview & Comparison
- ECMAScript 2016 Language Specification (Standard ECMA-262)
- Beginner JavaScript Notes & Reference By Wes Bos
JavaScript Books
- Eloquent JavaScript
- JavaScript & jQuery By Jon Duckett
- Exploring ES6 By Axel Rauschmayer
- Understanding ECMAScript 6 By Nicholas C. Zakas
- You Don't Know JS (book series) By Kyle Simpson
- Speaking JavaScript Dr. Axel Rauschmayer
- Learning JavaScript Design Patterns By Addy Osmani
- JSbooks - Free JavaScript resources
ECMAScript Editions
- ECMAScript 2024 (ES15) June 2024
- ECMAScript 2023 (ES14) June 2023
- ECMAScript 2022 (ES13) June 2022
- ECMAScript 2021 (ES12) June 2021
- ECMAScript 2020 (ES11) June 2020
- ECMAScript 2019 (ES10) June 2019
- ECMAScript 2018 (ES9) June 2018
- ECMAScript 2017 (ES8) 27 June 2017
- ECMAScript 2016 (ES7) June 2016
- ECMAScript 2015 (ES6) June 2015
- ECMAScript 5th Edition (ES5) June 2011