ECMAScript 2015 (ES6)
ECMAScript 2015, znany także jako ES6 lub ECMAScript 2015, to szósta edycja standardu języka programowania JavaScript. Standard został oficjalnie przyjęty w 2015 roku przez organizację TC39 i opublikowany jako ECMA‑262, edycja 6.
Historia i powstanie
Po sukcesie pierwszego wydania ECMAScript 5 w 2009 roku, społeczność programistów oczekiwała znaczących rozszerzeń umożliwiających tworzenie bardziej złożonych aplikacji internetowych. Prace nad kolejną wersją rozpoczęto w 2010 roku, a ostateczna specyfikacja została zakończona pod koniec 2014 roku i opublikowana w maju 2015 roku.
Najważniejsze nowe elementy
ECMAScript 2015 wprowadził szereg istotnych zmian, które znacząco podniosły możliwości języka:
- let i const – nowe deklaratory zmiennych o różnym zasięgu i niezmienności.
- Funkcje strzałkowe (arrow functions) – krótsza składnia i zachowanie
this. - Klasy – syntaktyczny cukier dla prototypowego dziedziczenia.
- Szablony tekstowe (template literals) – wieloliniowe ciągi i interpolacja.
- Parametry domyślne i parametry rest.
- Operator rozproszenia (spread operator) – łatwe łączenie i kopiowanie tablic oraz obiektów.
- Destrukturyzacja – rozpakowywanie wartości z tablic i obiektów.
- Moduły (import/export) – natywna obsługa podziału kodu na pliki.
- Obietnice (Promises) – obsługa operacji asynchronicznych.
- Generatory i iteratory – wsparcie dla iterowalnych struktur danych.
- Symbol – nowy prymitywny typ służący do tworzenia unikatowych kluczy.
- Map i Set – nowe struktury danych.
- Literal binarny i ósemkowy – nowe formaty liczbowe.
Moduły ECMAScript
Jednym z najważniejszych usprawnień jest wprowadzenie systemu modułów natywnie obsługiwanego przez przeglądarki oraz środowisko Node.js. Składnia opiera się na dwóch dyrektywach:
// export.js
export const pi = 3.1415;
export function square(x) { return x * x; }
// import.js
import { pi, square } from './export.js';
console.log(square(pi));
Moduły działają w trybie strict mode i zapewniają izolację zakresu, co eliminuje konflikty nazw i upraszcza zarządzanie zależnościami.
Kompatybilność i adopcja
W momencie wprowadzenia ECMAScript 2015 nie wszystkie przeglądarki obsługiwały wszystkie funkcje. Dlatego popularne były Babel oraz TypeScript, które umożliwiają transpiling nowoczesnego kodu do wersji kompatybilnej z ES5.
Do dziś ES6 jest bazą dla kolejnych wersji standardu (ES2016, ES2017, …) i stanowi fundament współczesnych frameworków takich jak React, Angular czy Vue.js.
Przykładowa aplikacja – „Hello, World!”
// main.mjs – plik modułu ECMAScript
import { greet } from './greeting.mjs';
greet('Świecie');
// greeting.mjs
export function greet(name) {
const message = `Hello, ${name}!`;
console.log(message);
}
Powiązane artykuły
- ECMAScript – ogólny opis standardu języka.
- JavaScript – język implementujący specyfikację ECMAScript.
- Node.js – środowisko uruchomieniowe JavaScript poza przeglądarką.
- Babel – narzędzie do transpilacji kodu ES6+ do ES5.
- TypeScript – superset JavaScript oparty o typowanie.
- TC39 – grupa standaryzacyjna odpowiedzialna za ECMAScript.
Bibliografia
- ECMA‑262, edycja 6, ECMA International, 2015.
- “Understanding ECMAScript 6”, Nicholas C. Zakas, 2016.
- “Exploring ES6”, Axel Rauschmayer, 2016.