Customize Consent Preferences

We use cookies to help you navigate efficiently and perform certain functions. You will find detailed information about all cookies under each consent category below.

The cookies that are categorized as "Necessary" are stored on your browser as they are essential for enabling the basic functionalities of the site. ... 

Always Active

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

No cookies to display.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

No cookies to display.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

No cookies to display.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

No cookies to display.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

No cookies to display.

W świecie JavaScript, nazwy i skróty takie jak ECMA, ECMAScript, ES6, czy ES2015 mogą wprowadzać w zamieszanie. Pozwólcie, że wyjaśnię, co one oznaczają.

ECMA (European Computer Manufacturers Association)

ECMA to organizacja standaryzacyjna, która opracowuje standardy dla przemysłu komputerowego w Europie. Zajmuje się opracowywaniem standardów dla różnych technologii, w tym języków programowania.

ECMAScript (ES)

To oficjalna nazwa standardu, na którym opiera się JavaScript. ECMAScript określa, jak powinien wyglądać JavaScript – od składni po rodzaje danych, które można używać. Stanowi on fundament dla wielu języków programowania, z JavaScript jako najbardziej popularnym przykładem. Skrót ES pochodzi od pełnej nazwy – ECMAScript.

ECMA-262

To numer dokumentu, który szczegółowo opisuje ECMAScript. Można myśleć o nim jak o oficjalnym przewodniku po tym, jak powinien działać JavaScript. Dla zainteresowanych, pełną specyfikację znajdziesz na oficjalnej stronie ECMA International pod adresem: ECMA-262 Specification.

Standardy nazewnictwa

Początkowe wersje standardu ECMAScript oznaczały się prostymi skrótami, jak ES1, ES2, aż do wydania ES5 w 2009 roku, z jego aktualizacją w 2011 roku (ES 5.1). Następną wersję, ES6, pierwotnie planowano wydać w 2013 roku, ale opóźnienia przesunęły premierę na 2014, a ostatecznie wydano ją w 2015 roku. W tym samym czasie wprowadzono nowy schemat oznaczania wersji, oparty na roku wydania. Dlatego wersja ES2016 stała się znana jako ES7, a ES2017 jako ES8, i tak dalej.

Warto również wspomnieć, że ES6, chociaż powszechnie znany pod tą nazwą, nosi również mniej popularną nazwę ES2015.

Opis poszczególnych wersji:

  • ECMAScript 1 (1997) – ES1: Podstawowa struktura języka JavaScript. Wprowadzenie m.in. zmiennych, funkcji, warunków, pętli.
  • ECMAScript 2 (1998) – ES2: Poprawki i usprawnienia w stosunku do poprzedniej wersji.
  • ECMAScript 3 (1999) – ES3: Znaczne ulepszenia. Wprowadzenie wyrażeń regularnych, obsługi błędów try-catch.
  • ECMAScript 4: Planowano wprowadzenie licznych nowości, ale prace nad tą wersją zostały anulowane. Większość tych nowości została wdrożonych w wersji ES6.
  • ECMAScript 5 (2009) – ES5: Wprowadzenie wielu nowości, w tym obiekt JSON, tryb strict, nowe metody dla obiektu Array (między innymi indexOf, map).
  • ECMAScript 5.1 (2011): Aktualizacja standardu ES5.
  • ECMAScript 6 (2015) – ES6 lub ES2015: Duże zmiany, takie jak deklaracja zmiennych za pomocą let i const, nowe typy danych, arrow functions, klasy, destrukturyzacja, moduły.
  • ECMAScript 2016 – ES7 lub ES2016: Wprowadzenie operatora potęgowania (**), Array.prototype.includes().
  • ECMAScript 2017 – ES8 lub ES2017: Kilka nowości, m.in. Async/Await, Object.values(), Object.entries(), String padding.
  • ECMAScript 2018 – ES9 lub ES2018: Nowości to m.in. spread/rest operator w obiektach, Promise.prototype.finally(), dodatkowe metody dla obiektu RegExp.
  • ECMAScript 2019 – ES10 lub ES2019: Nowości to m.in. Array.prototype.flat(), Array.prototype.flatMap(), String.prototype.trimStart(), String.prototype.trimEnd(), Object.fromEntries().
  • ECMAScript 2020 – ES11 lub ES2020: Nowości to m.in. nullish coalescing operator (??), optional chaining operator (?.), String.prototype.matchAll(), globalThis.
  • ECMAScript 2021 – ES12 lub ES2021: Nowości to m.in. Object.getOwnPropertyDescriptors(), String.prototype.replaceAll(), Promise.any(), Logical Assignment Operators.
  • ECMAScript 2022 – ES13 lub ES2022: Nowości to m.in. Składnia #x in obj, dodano Object.hasOwn jako wygodną alternatywę dla Object.prototype.hasOwnProperty, nowe elementy klas.
  • ECMAScript 2023 – ES14 lub ES2023: Nowości to m.in. Nowe metody na Array.prototype i TypedArray.prototype, w tym toSorted, toReversed, with, findLast, findLastIndex i toSpliced. Wprowadzenie wsparcia dla komentarzy „#!” na początku plików, umożliwiających bezpośrednie wykonywanie plików ECMAScript.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *