Czy jesteś gotowy na nowości w ECMAScript 2023?

Czy jesteś gotowy na nowości w ECMAScript 2023?

 

Podobno najważniejsze rzeczy są w najmniejszych szczegółach. Ta zasada ma zastosowanie również do najnowszej aktualizacji ECMAScript 2023. Nowa wersja może nie wydawać się rewolucyjna, ale oferuje kilka subtelnym zmian, które z pewnością sprawią, że nasze życie jako deweloperów będzie trochę łatwiejsze.

  • Symbole jako klucze WeakMap

Pierwsza z nowości to możliwość używania symboli jako kluczy w WeakMap. Przyznam, że to drobna zmiana, ale może mieć duży wpływ na to, jak korzystamy z tych nowych struktur danych.

```javascript
let mySymbol = Symbol('mySymbol');
let myWeakMap = new WeakMap();

myWeakMap.set(mySymbol, "value associated with mySymbol");

console.log(myWeakMap.get(mySymbol)); // "value associated with mySymbol"
```

  • Zmiana tablicy przez kopiowanie

Kolejna aktualizacja, która zasługuje na uwagę, to wprowadzenie "Zmiany tablicy przez kopiowanie" (Change Array by Copy). Ta funkcja daje nam nowe metody sortowania, odwracania i nadpisywania danych bez mutacji tablicy, w której są przechowywane

```javascript
let originalArray = [1, 2, 3, 4, 5];
let reversedArray = originalArray.reverseWith();

console.log(originalArray); // [1, 2, 3, 4, 5]
console.log(reversedArray); // [5, 4, 3, 2, 1]
```

Dla zwolenników programowania funkcyjnego, niemutowanie danych jest podstawą dobrego kodu. Czyste funkcje, które nie powodują efektów ubocznych, są łatwiejsze do testowania, debugowania i utrzymania. Więcej niemutowalności w JavaScript? Tak, proszę!

  • Wyszukiwanie w tablicy od końca

Metoda `findLast` jest niezwykle przydatna, gdy chcemy przeszukać naszą tablicę od końca, a nie od początku. Use case w praktyce może być taki, że szukamy najnowszego elementu pasującego do określonego kryterium w tablicy chronologicznej. W przeciwnym razie musielibyśmy przeszukać całą tablicę od początku, co może być czasochłonne, zwłaszcza dla dużych tablic.

To skarb dla programistów, którzy chcą optymalizować swój kod.

```javascript
let myArray = [1, 2, 3, 2, 1];
let lastTwo = myArray.findLast(element => element == 2);

console.log(lastTwo); // 2
```

  • Oficjalna gramatyka hashbang

Ostatnia, ale nie mniej ważna, aktualizacja to oficjalna gramatyka hashbang. Komentarze hashbang, które zaczynają się od `#!`, są używane do określania ścieżki do interpretera JavaScript, który chcesz używać do uruchomienia skryptu lub modułu, który następuje po komentarzu. Wcześniej była to konwencja przejęta z plików skryptów UNIX. Ta zmiana może wydawać się mała, ale sprawia, że JavaScript staje się bardziej spójny z innymi językami

```javascript
#!/usr/bin/env node
console.log("Hello, World!");
```

To są cztery propozycje, które najprawdopodobniej znajdą się w ECMAScript 2023. Mimo że aktualizacja jest mała, są też większe propozycje, które osiągnęły etap trzy i robią duże postępy. Wśród nich są pomocnicy iteratorów, Temporal, explicit resource management i dekoratory. Może uda im się trafić do ECMAScript 2024


Czy jesteście gotowi na te zmiany? Powodzenia!

 


Źródła: