ECMAScript

ECMAScript — стандарт мови програмування, затверджений міжнародною організацією ECMA згідно зі специфікацією ECMA-262. ECMAScript реалізує стандарти мови JavaScript.

ES - це скорочення від ECMAScript. Кожне видання специфікації отримує назву з абревіатурою ES та номер версії. Починаючи з ES6 офіційна назва специфікації позначається роком виходу. Тобто ES2015.

Основні методи і властивості які були добавлені до специфікації ES

ES1

червень 1997
Array
Boolean
Number
Object
String
Math
RegExp
Function
Date
null
undefined
eval()
isNaN()
parseFloat()
parseInt()
if...else
for
while
do...while
switch
try ... catch
label

ES2

Лише зміни в редакції.

ES3

грудень 1999
decodeURI()
decodeURIComponent()
encodeURI()
encodeURIComponent()
isFinite()

ES4

вихід не відбувся

ES5

грудень 2009
Array.isArray()
Array.indexOf()
Array.lastIndexOf()
Array.every()
Array.some()
Array.forEach
Array.map()
Array.filter()
Array.reduce()
Array.reduceRight()
String.trim()
JSON
Math.log10()
Math.log2()
Math.log1p()
Math.expm1()
Math.cosh()
Math.sinh()
Math.tanh()
Math.acosh()
Math.asinh()
Math.atanh()
Math.hypot()
Math.trunc()
Math.sign()
Math.imul()
Math.fround()
Math.cbrt()
Math.clz32()
Function.bind()
use strict

ES6 (ES2015)

червень 2015
Array.from()
Array.of()
Array.find()
Array.findIndex()
Array.fil()
Array.copyWithin()
ArrayBuffer
Int8Array
Int16Array
Int32Array
Float32Array
Float64Array
Uint8Array
Uint16Array
Uint32Array
Number.EPSILON
Number.isFinite()
Number.isInteger()
Number.isNaN()
Number.parseFloat()
Number.parseInt()
Object.assign()
Object.getOwnPropertySymbols()
Object.setPrototypeOf()
Object.is()
String.startsWith()
String.endsWith
String.includes()
String.normalize()
String.repeat()
Symbol
Set
Promise
Math.sign()
Math.trunc()
Math.cbrt()
...
const
let
class
import
export
стрілкові функції
for...in
for...of
деструктуризація

ES7 (ES2016)

червень 2016
Array.includes()

ES8 (ES2017)

червень 2017
async
await
Object.values()
Object.entries()
Object.getOwnPropertyDescriptors()
String.padStart()
String.padEnd()

ES9 (ES2018)

червень 2018
Promise.finally()

ES10 (ES2019)

червень 2019
Array.flat()
Array.flatMap()
Object.fromEntries()
String.trimStart()
String.trimEnd()

ES11 (ES2020)

червень 2020
BigInt
String.matchAll()
?.
??
globalThis

ES12 (ES2021)

червень 2021
String.replaceAll()
Numeric Seperator
Promise.any()

ES13 (ES2022)

червень 2022
Array.at()
String.at()
Object.hasOwn()
Error.cause
class #

ES14 (ES2023)

червень 2023
Array.findLastIndex()
Array.findLast()
Array.with()
Array.toReversed()
Array.toSorted()
Array.toSpliced()