You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: en/miscellaneous/ECMA-script.md
+16-13Lines changed: 16 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,23 +16,27 @@ ECMAScript, commonly abbreviated as ES, is a standardized scripting language spe
16
16
17
17
## History of ECMAScript
18
18
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.
28
32
29
33
# Why ECMAScript (ES) is Standardized for JavaScript
30
34
31
35
This section of the document elaborates on why ECMAScript is crucial for JavaScript, its role in standardization, and its benefits for the language.
32
36
33
37
## The Need for Standardization
34
38
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.
36
40
37
41
-**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.
38
42
@@ -94,13 +98,12 @@ This section of the document elaborates on why ECMAScript is crucial for JavaScr
-**Spread Operator**: `const year = [...q1, ...q2, ...q3, ...q4];`
101
105
102
106
-**Map**: `const x = new Map([ ["a", 500],["b", 300],["c", 200] ]);`
103
107
104
-
105
108
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.
106
109
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