Фичи EcmaScript по годам

Начиная с 2016 года, JavaScript перешел на ежегодные обновления. Каждый год в языке появляются новые методы и новый синтаксис. Как правило, начинать пользоваться ими можно раньше, чем они появляются в стандарте.

В тестирующей системе maxcode.dev всегда самая актуальная версия Node.js.

МетодПринимаетВозвращаетNode.js
Object.groupBy😇iterableobject21
Map.groupBy😇iterableMap21
Promise.withResolvers😇promise + resolve + reject22
МетодПринимаетВозвращаетNode.js
Array#findLast😇predicatevalue18
Array#findLastIndex😇predicateindex18
Array#toReversed😇array20
Array#toSorted😇comparatorarray20
Array#toSpliced😇indexarray20
Array#with😇valuearray20
Синтаксис
  • Class Fields
  • Class Static Block
  • Error Cause
МетодПринимаетВозвращаетNode.js
Array#at😇indexvalue16
Object.hasOwn😇propertyboolean16
String#at😇indexvalueES5
Синтаксис
  • WeakRefs
  • Logical Assignment Operators
  • Numeric separators
МетодПринимаетВозвращаетNode.js
String#replaceAll😇regexp | stringstringES5
Promise.any😇iterablepromise15
Синтаксис
  • import()
  • BigInt
  • globalThis
  • for-in mechanics
  • Optional Chaining
  • Nullish coalescing Operator
  • import.meta
МетодПринимаетВозвращаетNode.js
Promise.allSettled😇iterablepromise12
Синтаксис
  • Optional catch binding
МетодПринимаетВозвращаетNode.js
Object.fromEntries😇entriesobject12
Array#flat😇array11
Array#flatMap😇mapperarray11
String#trimEnd😇stringES5
String#trimStart😇stringES5
Синтаксис
  • RegExp Named Capture Groups
  • Object Rest/Spread Properties
  • for-await-of
  • Optional catch binding
МетодПринимаетВозвращаетNode.js
Promise#finally😇onFinallypromise10
Синтаксис
  • Trailing commas in function parameter lists
  • Async Functions
  • RegExp Named Capture Groups
  • Object Rest/Spread Properties
МетодПринимаетВозвращаетNode.js
String#padEnd😇lengthstringES5
String#padStart😇lengthstringES5
Object.entries😇objectentries7
Object.values😇objectvalues7
Object.getOwnPropertyDescriptors😇propertiesdescriptors7
Синтаксис
  • **
МетодПринимаетВозвращаетNode.js
Array#includes😇valueboolean6