ECMAScript 2021
Numer wersji JavaScript
Starsze wersje JS są nazywane liczbami: ES5 (2009) i ES6 (2015).
Od 2016 roku wersje są nazywane rokiem: ECMAScript 2016, 2017, 2018, 2019, ...
Nowe cechy
Nowe cechy w ES2021:
- Promise.any()
- Metoda string replaceAll()
- Numeratory cyfrowe (_)
Nowe cechy w ES2022:
- Metoda tablicy at()
- Metoda string at()
- Wyrażenie regularne /d
- Object.hasOwn()
- error.cause
- await import
- Prywatne metody i pola
- Deklaracja pól klasowych
Ostrzeżenie
Te cechy są stosunkowo nowe.
Starsze przeglądarki mogą wymagać alternatywnego kodu (Polyfill)
Metoda string ReplaceAll() w JavaScript
ES2021 wprowadził metodę string replaceAll():
Przykład
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
Metoda replaceAll() pozwala na指定一个正则 expression zamiast 代替的字符串。
Jeśli argument jest wyrażeniem regularnym, musi być ustawiony znak globalny (g
Jeśli to nie nastąpi, zostanie rzucony TypeError.
Przykład
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
Wskazówka:}ES2020 Wprowadzono metodę string matchAll().
Cyfrowe separatory w JavaScript
ES2021 wprowadził cyfrowe separatory (_
) aby uczynić liczbę bardziej czytelną:
Przykład
const num = 1_000_000_000;
Cyfrowe separatory są używane wyłącznie do celów wizualnych.
Przykład
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Cyfrowe separatory mogą być umieszczone w dowolnym miejscu liczby:
Przykład
const num1 = 1_2_3_4_5;
Uwaga
Cyfrowe separatory nie mogą pojawiać się na początku ani końcu liczby.
W JavaScript, tylkoZmienneMogą zaczynać się od podkreślenia (_).
Od stycznia 2020 roku wszystkie nowoczesne przeglądarki obsługują cyfrowe separatory:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Czerwiec 2019 roku | Styczeń 2020 roku | Październik 2019 roku | Wrzesień 2019 roku | Czerwiec 2019 roku |