MC, 2025
Ilustracja do artykułu: ES9 JS: Co nowego w JavaScript? Sprawdź funkcje i przykłady!

ES9 JS: Co nowego w JavaScript? Sprawdź funkcje i przykłady!

JavaScript, język, który napędza większość aplikacji webowych, nieustannie się rozwija, wprowadzając nowe funkcje i udoskonalenia, które ułatwiają życie programistów. Jednym z kluczowych kamieni milowych w tym rozwoju była wersja ES9, znana również jako ECMAScript 2018. Ta wersja wprowadziła wiele ciekawych funkcji, które usprawniły pracę z językiem i zwiększyły jego możliwości. W tym artykule przyjrzymy się, czym jest ES9 JS, jakie zmiany zostały wprowadzone oraz pokażemy, jak wykorzystać nowe funkcje w praktyce.

Co to jest ES9 JS?

ES9 JS to dziewiąta wersja specyfikacji ECMAScript, która została opublikowana w 2018 roku. ECMAScript to standard, na którym oparty jest JavaScript, i regularnie wprowadza nowe funkcje oraz poprawki, które pomagają programistom w pisaniu czystszego i bardziej wydajnego kodu. Każda nowa wersja ECMAScript wnosi coś nowego – od nowych metod, przez usprawnienia składniowe, po poprawki wydajnościowe.

ES9 JS, choć nie wprowadził rewolucyjnych zmian, wprowadził szereg udoskonaleń, które znacząco poprawiają sposób, w jaki piszemy i czytamy kod JavaScript. W tej wersji pojawiły się między innymi takie funkcje jak asynchroniczne iteratory, rozszerzenie operatora rest oraz ulepszony mechanizm obsługi błędów. Przejdźmy do szczegółowego omówienia tych nowości.

Asynchroniczne iteratory (Async Iterators)

Jednym z najciekawszych dodatków w ES9 JS jest wprowadzenie asynchronicznych iteratorów. Pozwalają one na iterowanie po kolekcjach danych, które są asynchroniczne, czyli takich, które mogą dostarczać dane z opóźnieniem (np. dane pobierane z serwera). Dzięki asynchronicznym iteratorom można w łatwy sposób obsługiwać dane, które są dostępne dopiero po zakończeniu jakiejś operacji asynchronicznej, jak np. pobieranie plików czy zapytania HTTP.

Asynchroniczni iteratory działają na podobnej zasadzie co tradycyjne iteratory, ale umożliwiają używanie słowa kluczowego await, które pozwala na zatrzymanie wykonywania kodu do momentu, aż dane będą dostępne. Oto przykład użycia asynchronicznych iteratorów w ES9 JS:

async function fetchData() {
    const data = [1, 2, 3, 4, 5]; // Przykładowe dane
    for await (const number of data) {
        console.log(number); // Każdy numer będzie wyświetlany po opóźnieniu
    }
}

fetchData();

W powyższym przykładzie iterujemy po tablicy danych asynchronicznie, co pozwala na większą elastyczność w pracy z asynchronicznymi źródłami danych.

Spread i rest operator w funkcjach

Choć operator spread (...) był dostępny już wcześniej w JavaScript, to w ES9 JS rozszerzono go o dodatkowe możliwości. Teraz możemy wykorzystać go także w funkcjach, co pozwala na bardziej elastyczne zarządzanie parametrami funkcji.

Wersja ES9 JS wprowadza dwa ciekawe zastosowania tego operatora:

  • Operator rest – pozwala na zbieranie pozostałych argumentów funkcji do jednej tablicy. Jest to bardzo przydatne w przypadku funkcji o zmiennej liczbie argumentów.
  • Operator spread – umożliwia rozszerzenie tablic lub obiektów, co pozwala na wygodne tworzenie nowych kopii struktur danych.

Przykład zastosowania operatora rest:

function sum(...numbers) {
    return numbers.reduce((acc, curr) => acc + curr, 0);
}

console.log(sum(1, 2, 3, 4, 5)); // Wynik: 15

Przykład zastosowania operatora spread:

const arr1 = [1, 2, 3];
const arr2 = [...arr1, 4, 5];

console.log(arr2); // Wynik: [1, 2, 3, 4, 5]

Ulepszony mechanizm obsługi błędów (Error Handling)

W ES9 JS dodano nowe możliwości związane z obsługą błędów. Jednym z najważniejszych ulepszeń jest wprowadzenie tzw. optional catch binding, czyli możliwość pominięcia zmiennej błędu w konstrukcji try-catch, jeśli nie jest ona wykorzystywana. Jest to drobna zmiana, ale pomaga to w redukcji nadmiarowego kodu, zwłaszcza w przypadkach, gdzie nie potrzebujemy przetwarzać szczegółów błędu.

Przykład:

try {
    throw new Error("Coś poszło nie tak");
} catch {
    console.log("Błąd wystąpił, ale nie musimy go obsługiwać szczegółowo");
}

Wcześniej konieczne było zdefiniowanie zmiennej do przechowywania błędu, nawet jeśli nie zamierzaliśmy jej używać. Teraz jest to opcjonalne, co poprawia czytelność kodu.

Nowe funkcje w metodach String

ES9 JS wprowadził także kilka nowych funkcji do klasy String, które ułatwiają pracę z łańcuchami tekstowymi. Jedną z najważniejszych nowości jest padStart oraz padEnd, które pozwalają na dodanie określonej liczby znaków na początku lub na końcu łańcucha. Funkcje te są szczególnie przydatne w przypadku formatowania tekstu (np. wyświetlanie liczb o stałej szerokości).

Przykład użycia padStart:

let str = "5";
console.log(str.padStart(3, "0")); // Wynik: "005"

Przykład użycia padEnd:

let str2 = "abc";
console.log(str2.padEnd(6, "!")); // Wynik: "abc!!!"

Podsumowanie: Jak wykorzystać ES9 JS w swojej pracy?

ES9 JS to wydanie, które nie rewolucjonizuje języka, ale wprowadza szereg praktycznych usprawnień, które pomagają programistom w codziennej pracy. Asynchroniczni iteratorzy, ulepszony mechanizm obsługi błędów czy nowe funkcje do pracy z tekstem sprawiają, że JavaScript staje się jeszcze bardziej wszechstronny i łatwiejszy w użyciu.

Warto więc zapoznać się z tymi nowościami i wdrożyć je w swoich projektach. Dzięki ES9 JS można pisać bardziej elegancki, wydajny i łatwy do utrzymania kod. A jeśli jeszcze nie używasz tych funkcji, to teraz jest idealny moment, aby zacząć!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: