Teachnique
      CourseRoadmaps
      Login

      OverviewPlacementSyntaxHello WorldConsole.log()CommentsVariableslet StatementConstantsData TypesType ConversionsStrict ModeReserved Keywords

      OperatorsArithmetic OperatorsComparison OperatorsLogical OperatorsBitwise OperatorsAssignment OperatorsConditional Operatorstypeof OperatorNullish Coalescing OperatorDelete OperatorComma OperatorGrouping OperatorYield OperatorSpread OperatorExponentiation OperatorOperator Precedence

      If...ElseWhile LoopsFor LoopFor...in LoopFor...of LoopLoop ControlBreak StatementContinue StatementSwitch CaseUser Defined Iterators

      FunctionsFunction ExpressionsFunction ParametersDefault ParametersFunction() ConstructorFunction HoistingArrow FunctionsFunction InvocationFunction call() MethodFunction apply() MethodFunction bind() MethodClosuresVariable ScopeGlobal VariablesSmart Function Parameters

      NumberBooleanStringsArraysDateMathRegExpSymbolSetsWeakSetMapsWeakMapIterablesReflectTypedArrayTempate LiteralsTagged Templates

      Objects OverviewClassesObject PropertiesObject MethodsStatic MethodsDisplay ObjectsObject AccessorsObject ConstructorsNative PrototypesES5 Object MethodsEncapsulationInheritanceAbstractionPolymorphismDestructuring AssignmentObject DestructuringArray DestructuringNested DestructuringOptional ChainingGlobal ObjectMixinsProxies

      HistoryVersionsES5ES6ECMAScript 2016ECMAScript 2017ECMAScript 2018ECMAScript 2019ECMAScript 2020ECMAScript 2021ECMAScript 2022

      CookiesCookie AttributesDeleting Cookies

      Browser Object ModelWindow ObjectDocument ObjectScreen ObjectHistory ObjectNavigator ObjectLocation ObjectConsole Object

      Web APIHistory APIStorage APIForms APIWorker APIFetch APIGeolocation API

      EventsDOM Events

      Feedback

      Submit request if you have any questions.

      Course
      Versions

      JavaScript Tutorial

      This JavaScript tutorial is crafted for beginners to introduce them to the basics and advanced concepts of JavaScript. By the end of this guide, you'll reach a proficiency level that sets the stage for further growth. Aimed at empowering you to progress towards becoming a world-class software developer, this tutorial paves the way for a successful career in web development and beyond.

      Versions

      JavaScript was developed by Brendan Eich in 1995. It was standardized in 1997 by European Computer Manufacturers Association (ECMA) and officially known as ECMAScript. The first version of the language is known as ECMSScript 1 (abbreviated as ES1). The fist three versiosn (ES1, ES2, and ES3) laid the foundation of the language. The fourth version, ES4, was abandoned. The first main revision done in ES5(2009). The second major revised version is ES6 (ECMAScript 2015). After 2015, the versions are named by the year in which it it released.
      The latest version of JavaScript is ECMAScript 2023.

      JavaScript Versions

      In the Below table, we have specified detailed information about each version.
      Version
      Official Name
      Release Year
      Features Added
      ES1
      ECMAScript 1
      1997
      First release
      ES2
      ECMAScript 2
      1998
      Minor changes
      ES3
      ECMAScript 3
      1999
      • Added regular expressions
      • Added do-while
      • Added switch
      • Added try/catch
      ES4
      ECMAScript 4
      Never Released.
      
      ES5
      ECMAScript 5
      2009
      • JavaScript strict mode
      • Multiline strings
      • String.trim()
      • Array methods
      • Object methods
      • Getters and setters
      • Trailing commas
      ES6
      ECMAScript 2015
      2015
      • let and const statements
      • Map and set objects
      • Arrow functions
      • For/of loop
      • Some array methods
      • Symbol
      • Classes
      • Promises
      • JavaScript Modules
      • New Number methods and properties
      • For/of loop
      • Spread operator
      ES7
      ECMAScript 2016
      2016
      • Exponential (**) operator
      • Array.includes() method
      ES8
      ECMAScript 2017
      2017
      • Added Async/await
      • Added Object.entries() method
      • Added Object.values() method
      • Added Object.getOwnPropertyDescriptor() method
      • Added string padding
      ES9
      ECMAScript 2018
      2018
      • Rest object properties
      • JavaScript shared memory
      • Promise.finally() method
      • New features of the RegExp() object
      ES10
      ECMAScript 2019
      2019
      • String trim.start()
      • String trim.end()
      • Array.flat()
      • Revised Array.sort()
      • Revised JSON.stringify() / toString()
      • Object.fromEntries() method
      ES11
      ECMAScript 2020
      2020
      • Nullish Coalescing Operator (??)
      • BigInt primitive data type
      ES12
      ECMAScript 2021
      2021
      • String.replaceAll() method
      • Promise.Any() method
      ES13
      ECMAScript 2022
      2022
      • The static block inside the class
      • New class features
      • Top-level await
      ES14
      ECMAScript 2023
      2023
      • Array findLast() & findLastIndex()
      • Hashbang Grammer
      • Symbols as WeakMap keys
      Since 2016, early update is being released with version named by the year of release. The update release in June 2023 is known as ECMAScript 2023.

      Browser Support

      All modern browsers fully support the ES1 to ES6. For other versions, you may use Polyfill and write the additional code.
      Chrome
      Firefox
      Microsoft Edge
      Opera
      Safari
      Firefox Android
      Yes
      Yes
      Yes
      Yes
      Yes
      Yes