JavaScript Tutorial
indexjavascript history javascript versions environment setup variables and data typesOperatorsstrings and numbers programming constructs arrays built in objects functions objects call apply bind closures error handling debugging CallbacksJS in Browser
BOM and DOMBrowser EventsWeb APIAjaxJQueryMost popular librariesAdvanced
prototypes Object Oriented ProgrammingModulesAsynchronous programmingBinary DataInternationalizationreactangularjsProjectsMiscellaneous
typescriptJS ecosystemChrome dev toolstesting frameworksInterview questions and AnswersJavascript versions
JavaScript was first released in 1995 and confirms to ECMAScript (ES) specification. ECMAScript version 1 was released in 1997 and since then there have been lot of revisions as mentioned below.ES5 features - 2009
Here is the list of features added in ES5.- use strict directive - declare variables explicitly
- String.trim() method added - used to remove white spaces from both ends of String
- String.charAt() method added - used to get character at specific position in String
- Lot of methods added to Array - isArray, foreach, map, filter, reduce, every sum, indexof, lastindexof
- JSON object new methods - parse, stringify
- Date.now() method added
- Object related changes - getters and setters, adding new property to objects
- Access String property using []
- support for multiline string literals
ES6 features - 2015
Here is the list of features added in ES6.- let
- const
- Promises
- ES6 modules - import and export syntax
- Arrow function - similar to lambda in Java
- Class syntax
- Template literals
- for ... of loop
- Default parameters
- New Array methods - find() and findIndex()
- New Number methods - isFinite() and isNaN()
- map, set, weakmap, weakset
- Binary data
- Typed Arrays
- Iterators
ES7 features - 2016
Here is the list of features added in ES7.- Array.prototype.includes
- Exponentiation - ** - similar to Math.Pow
- Destructuring
- async .. await
ES8 - 2017
- Object.values, Object.entries and Object.getOwnPropertyDescriptors
- Concurrency and atomics features
- asyn ...await improvements
ES9 - 2018
- spread operator and rest parameters - ...
- Promise.prototype.finally
ES10 - 2019
- Array.prototype.flat, Array.prototype.flatMap, Improvements in Array.sort and Object.fromEntries
- Catch binding is optional
ES11 - 2020
- BigInt - supports number larger than Number.MAX_SAFE_INTEGER
- ?? - nullish coalescing operator - returns right hand side operand when left hand side operand is null or undefined. For false and NaN, it returns false and NaN itself unlike || operator.
- globalThis object
- optional chaining - ?.
ES12 - 2021
- replaceAll method for strings
- Promise.any
- AggregateError
- ??=, ||=
- garbage collection improvements
- Array.prototype.sort improvements
ES13 - 2022
- Regular expression indexing improvements
- at() method for indexable object
- top level await
- error.cause
ES.Next
- Array.prototype.findLast() and Array.prototype.findLastIndex()
Web development and Automation testing
solutions delivered!!