ES6 ( 2015 )
(1) Arrow functions:
(2) Classes
( Note: Below output is obtained on commenting person.greet() )
The ​static​ keyword defines a static method for a class. Static methods aren't called on instances
of the class. Instead, they're called on the class itself. These are often utility functions, such as functions to
create or clone objects.
[Ref(Classes) : ​https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields​ ]
(3) Enhanced Object Literal
(a) Shorthand
(b) Computed Properties
(4) Template Strings
(5) Destructuring
(6) Default and Spread Operator
(7) Let
(8) Const
(9) for..of
(10) Generators
(11) Modules
(12) Map | Set
(13) Map and Weak Map
(14) Proxy
https://www.freecodecamp.org/news/a-quick-intro-to-javascript-proxies-55695ddc4f98/
(15) Object.asign()
(16) Promises
ES7 (2016)
(1) Array.prototype.include()
(2) Exponentiation Operator
ES8 (2017)
(1) Object.values()
(2) Object.entries()
(3) Object.getOwnPropertyDescriptors()
(4) Async | Await
(5) padStart | padEnd
(6) Trailing Comma
ES9 (2018)
(1) Regex Changes
( ​https://www.freecodecamp.org/news/es9-javascripts-state-of-art-in-2018-9a350643f29c/​ )
(2) Rest | Spread
(3) Finally ( Promise.prototype )
(4) Asynchronous Iterations
​ES10 (2019)
(1) Array.flat()
(2) Array.flatMap()
(3) Object.fromEntries()
(4) String.trimStart() | String.trimEnd()
(5) Optional Catch Binding

ECMAScript (2015 - 2019)

  • 1.
    ES6 ( 2015) (1) Arrow functions: (2) Classes
  • 2.
    ( Note: Belowoutput is obtained on commenting person.greet() ) The ​static​ keyword defines a static method for a class. Static methods aren't called on instances of the class. Instead, they're called on the class itself. These are often utility functions, such as functions to create or clone objects. [Ref(Classes) : ​https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/Class_fields​ ]
  • 3.
    (3) Enhanced ObjectLiteral (a) Shorthand (b) Computed Properties (4) Template Strings (5) Destructuring
  • 4.
    (6) Default andSpread Operator (7) Let (8) Const (9) for..of
  • 5.
  • 6.
    (13) Map andWeak Map (14) Proxy https://www.freecodecamp.org/news/a-quick-intro-to-javascript-proxies-55695ddc4f98/ (15) Object.asign() (16) Promises
  • 7.
    ES7 (2016) (1) Array.prototype.include() (2)Exponentiation Operator ES8 (2017) (1) Object.values() (2) Object.entries() (3) Object.getOwnPropertyDescriptors()
  • 8.
    (4) Async |Await (5) padStart | padEnd
  • 9.
    (6) Trailing Comma ES9(2018) (1) Regex Changes ( ​https://www.freecodecamp.org/news/es9-javascripts-state-of-art-in-2018-9a350643f29c/​ ) (2) Rest | Spread (3) Finally ( Promise.prototype )
  • 10.
    (4) Asynchronous Iterations ​ES10(2019) (1) Array.flat() (2) Array.flatMap()
  • 11.
    (3) Object.fromEntries() (4) String.trimStart()| String.trimEnd() (5) Optional Catch Binding