Skip to content

Commit 166b11d

Browse files
992manavsumn2u
authored andcommitted
Update ECMAScript Versions List in ECMA Script chapter.
1 parent 35321fc commit 166b11d

File tree

1 file changed

+16
-13
lines changed

1 file changed

+16
-13
lines changed

en/miscellaneous/ECMA-script.md

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,23 +16,27 @@ ECMAScript, commonly abbreviated as ES, is a standardized scripting language spe
1616

1717
## History of ECMAScript
1818

19-
- **ES1 (ECMAScript 1)**: Released in 1997, ES1 laid the foundation for JavaScript as we know it today.
20-
21-
- **ES3 (ECMAScript 3)**: Released in 1999, ES3 introduced significant improvements and is considered the version that brought JavaScript into mainstream web development.
22-
23-
- **ES5 (ECMAScript 5)**: Released in 2009, ES5 added new features and improved existing ones, making JavaScript more robust.
24-
25-
- **ES6 (ECMAScript 2015)**: Released in 2015, ES6 was a major milestone, introducing significant changes such as arrow functions, classes, modules, and more.
26-
27-
- **ESNext**: Refers to the ongoing development of ECMAScript, where new features and improvements are continually proposed and added.
19+
- **ES1 (ECMAScript 1)**: Released in 1997. Laid the foundation for JavaScript.
20+
- **ES2 (ECMAScript 2)**: Released in 1998. Minor editorial changes to align with ISO/IEC 16262.
21+
- **ES3 (ECMAScript 3)**: Released in 1999. Introduced significant improvements like regular expressions, `try/catch` exception handling, and `do/while` loops.
22+
- **ES5 (ECMAScript 5)**: Released in 2009. Added new features like `strict mode`, `JSON` support, `Object.create()`, `Object.defineProperty()`, and array methods (`map`, `filter`, `reduce`).
23+
- **ES6 (ECMAScript 2015)**: Released in 2015. Major milestone with arrow functions, classes, modules, template literals, destructuring, `let`/`const`, `for...of` loops, Promises, and `Symbol`.
24+
- **ES7 (ECMAScript 2016)**: Released in 2016. Introduced `Array.prototype.includes()` and the exponentiation operator (`**`).
25+
- **ES8 (ECMAScript 2017)**: Released in 2017. Added `async/await`, `Object.values()`, `Object.entries()`, `Object.getOwnPropertyDescriptors()`, and string padding (`padStart`/`padEnd`).
26+
- **ES9 (ECMAScript 2018)**: Released in 2018. Introduced rest/spread properties for objects, `Promise.prototype.finally()`, and asynchronous iteration.
27+
- **ES10 (ECMAScript 2019)**: Released in 2019. Added `Array.prototype.flat()`, `Array.prototype.flatMap()`, `Object.fromEntries()`, `String.prototype.trimStart()`, `String.prototype.trimEnd()`, and `Symbol.prototype.description`.
28+
- **ES11 (ECMAScript 2020)**: Released in 2020. Introduced `BigInt`, `Promise.allSettled()`, `globalThis`, optional chaining (`?.`), and nullish coalescing operator (`??`).
29+
- **ES12 (ECMAScript 2021)**: Released in 2021. Added `String.prototype.replaceAll()`, `Promise.any()`, `AggregateError`, logical assignment operators (`&&=`, `||=`, `??=`), and `WeakRefs`.
30+
- **ES13 (ECMAScript 2022)**: Released in 2022. Introduced top-level `await`, `Object.hasOwn()`, `Error.cause`, `at()` method for `Array`, `String`, and `TypedArray`, and private class fields/methods.
31+
- **ES14 (ECMAScript 2023)**: Released in 2023. Added `Array.prototype.toReversed()`, `Array.prototype.toSorted()`, `Array.prototype.toSpliced()`, `Array.prototype.with()`, `Map.prototype.emplace()`, `Set.prototype.emplace()`, and `Symbol.prototype.description` as a getter.
2832

2933
# Why ECMAScript (ES) is Standardized for JavaScript
3034

3135
This section of the document elaborates on why ECMAScript is crucial for JavaScript, its role in standardization, and its benefits for the language.
3236

3337
## The Need for Standardization
3438

35-
- **Language Consistency**: JavaScript, as a widely used programming language for web development, needed a standardized specification to ensure consistency across various implementations and environments.
39+
- **Language Consistency**: JavaScript, as a widely used programming language for web development, needed a standardized specification to ensure consistency across various implementations and environments.
3640

3741
- **Interoperability**: Different web browsers and engines may have their own interpretations of JavaScript. A standard helps ensure that JavaScript code behaves consistently across all platforms.
3842

@@ -94,13 +98,12 @@ This section of the document elaborates on why ECMAScript is crucial for JavaScr
9498

9599
- **Class Syntax**: `class ClassName { constructor() { ... } }`
96100

97-
- **Promise Syntax**: `const promiseA = new Promise(myExecutorFunc);`
98-
`const promiseB = promiseA.then(handleFulfilled1, handleRejected1);`
101+
- **Promise Syntax**: `const promiseA = new Promise(myExecutorFunc);`
102+
`const promiseB = promiseA.then(handleFulfilled1, handleRejected1);`
99103

100104
- **Spread Operator**: `const year = [...q1, ...q2, ...q3, ...q4];`
101105

102106
- **Map**: `const x = new Map([ ["a", 500],["b", 300],["c", 200] ]);`
103107

104-
105108
ECMAScript is a fundamental part of web development, shaping how we create dynamic and interactive web applications. Staying informed about the latest ECMAScript features is essential for modern JavaScript development.
106109
ECMAScript plays a crucial role in providing a standardized foundation for JavaScript, ensuring consistency, interoperability, and continuous improvement of the language. This standardization allows developers to write JavaScript code with confidence, knowing that it will work reliably across different platforms and environments.

0 commit comments

Comments
 (0)