ECMAScript 2021
JavaScript-versioiden numero
Vanhat JS-versiot nimetään numeroilla: ES5 (2009) ja ES6 (2015).
Vuodesta 2016 lähtien versiot nimetään vuosiluvulla: ECMAScript 2016、2017、2018、2019、...
Uudet ominaisuudet
ES2021:n uudet ominaisuudet:
- Promise.any()
- Merkkijonomenetelmä replaceAll()
- Numeroiden erotin (_)
ES2022:n uudet ominaisuudet:
- Taulukkomenetelmä at()
- Merkkijonomenetelmä at()
- Säännöllinen lauseke /d
- Object.hasOwn()
- error.cause
- await tuonti
- Yksityiset metodit ja kentät
- Luokan kenttäjulistus
Varoitus
Nämä ominaisuudet ovat suhteellisen uusia.
Vanhemmat selaimet saattavat vaatia korvaavaa koodia (Polyfill)
JavaScript-merkkijonomenetelmä ReplaceAll()
ES2021 otti käyttöön merkkijonomenetelmän replaceAll():
Esimerkki
text = text.replaceAll("Cats","Dogs"); text = text.replaceAll("cats","dogs");
replaceAll() -menetelmä sallii määrittää säännöllisen lausekkeen sijaan korvattavan merkkijonon.
Jos parametri on säännöllinen lauseke, on asetettava globaali merkki (g
Muuten heittää TypeError-tyypin virheen。
Esimerkki
text = text.replaceAll(/Cats/g,"Dogs"); text = text.replaceAll(/cats/g,"dogs");
Vinkki:ES2020 Introduktion av strängmetoden matchAll().
JavaScript-numeroerottimet (_)
ES2021 otti käyttöön numeroerottimet (_
) tehdäkseen numeron luettavammaksi:
Esimerkki
const num = 1_000_000_000;
Numeroerottimet ovat vain visuaalisia.
Esimerkki
const num1 = 1_000_000_000; const num2 = 1000000000; (num1 === num2);
Numeroerottimet voidaan sijoittaa luvun mihin tahansa kohtaan:
Esimerkki
const num1 = 1_2_3_4_5;
Huomaa
Numeroerottimet eivät saa olla luvun alussa tai lopussa.
JavaScriptissa vainMuuttujatVoivat aloittaa _-merkin kanssa.
Vuodesta 2020 vuoden 1 kuukaudelta lähtien kaikki nykyaikaiset selaimet tukevat numeroerottimia:
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 75 | Edge 79 | Firefox 74 | Safari 13.1 | Opera 67 |
Juni 2019 | Tammikuu 2020 | lokakuu 2019 | Syyskuu 2019 | Juni 2019 |