ECMAScript 2020

JavaScript-versiot

Vanhat JS-versiot on nimetty numeroilla: ES5 (2009) ja ES6 (2015).

Vuodesta 2016 lähtien versiot on nimetty vuosien mukaan: ECMAScript 2016, 2017, 2018, 2019, ...

ES2020:n uudet ominaisuudet:

Varoitus

Nämä ominaisuudet ovat suhteellisen uusia.

Vanhemmat selaimet saattavat vaatia korvaavia koodia (polyfill).

JavaScript BigInt

JavaScriptin BigInt-muuttujat käytetään suurten kokonaislukujen tallentamiseen, jotka eivät voi olla normaalien JavaScriptin lukujen muodossa.

JavaScriptin kokonaisluvut voivat olla enintään 15 numeroa tarkkoja.

Integer-esimerkki

let x = 999999999999999;
let y = 9999999999999999; // Liian suuri

Kokeile itse

BigInt-esimerkki

let x = 9999999999999999;
let y = 9999999999999999n;

Kokeile itse

Jos haluat luoda BigInt, lisää n Liitä lisää lukuun tai kutsu BigInt():

Esimerkki

let x = 1234567890123456789012345n;
let y = BigInt(1234567890123456789012345);

Kokeile itse

BigInt:n JavaScript-tyyppi on "bigint":

Esimerkki

let x = BigInt(999999999999999);
let type = typeof x;

Kokeile itse

Vuodesta 2020 syyskuusta lähtien kaikki nykyaikaiset selaimet tukevat BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
Kesäkuun 2018 Tammikuun 2020 Heinäkuun 2019 Syyskuu 2020 Kesäkuun 2018

JavaScript-merkkijonomenetelmä matchAll()

ES2020 ennen ei ollut merkkijonomenetelmiä, jotka voitaisiin käyttää merkkijonon kaikkien esiintymien hakemiseen.

Esimerkki

const iterator = text.matchAll("Cats");

Kokeile itse

Jos parametri on säännöllinen lauseke, on asetettava kokonaismerkki (g), muuten heitetään TypeError. (

Esimerkki

const iterator = text.matchAll(/Cats/g);

Kokeile itse

Jos suoritetaan merkkiä riippumaton haku, on asetettava merkkiä riippumaton merkki (i):

Esimerkki

const iterator = text.matchAll(/Cats/gi);

Kokeile itse

Huomioitavaa:ES2021 Esitettiin merkkijonomenetelmä replaceAll().

Tyhjä arvo yhdistävä operaattori (Nullish Coalescing Operator) (?? operaattori)

Jos ensimmäinen parametri ei ole tyhjä arvo (null tai undefinedeli ?? Operaattori palauttaa ensimmäisen parametrin.

muuten palauttaa toisen.

Esimerkki

let name = null;
let text = "missing";
let result = name ?? text;

Kokeile itse

Vuodesta 2020 maaliskuusta lähtien kaikki nykyaikaiset selaimet tukevat nullish operaattoreita:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
Tammikuun 2020 Tammikuun 2020 Tammikuun 2020 Maaliskuu 2020 Maaliskuu 2020

Valinnainen ketju operaattori (Valinnainen ketjutus operaattori) (?. operaattori)

Jos objekti on undefined tai nulleliValinnainen ketju operaattoriPalauttaa undefinedeikä heitä virheen (eiheen).

Esimerkki

const car = {type:"Fiat", model:"500", color:"white"};
let name = car?.name;

Kokeile itse

Vuodesta 2020 maaliskuusta lähtien kaikki nykyaikaiset selaimet tukevat ?.= Operaattori:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
Tammikuun 2020 Tammikuun 2020 Maaliskuu 2020 Maaliskuu 2020 Maaliskuu 2020

Looginen AND-asetuslaskin (&&= -operaattori)

Looginen AND-asetuslause operaattoriarvojen välillä.

Jos ensimmäinen arvo on trueja aseta toinen arvo.

Looginen AND-asetuslause esimerkki

let x = 100;
x &&= 5;

Kokeile itse

Kaikki nykyaikaiset selaimet tukevat sitä vuodesta 2020 syyskuusta lähtien &&= Operaattori:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Elokuu 2020 Elokuu 2020 Maaliskuu 2020 Syyskuu 2020 Syyskuu 2020

Looginen OR-asetuslause operaattori (||= operaattori)

Looginen OR-asetuslause operaattoriarvojen välillä.

Jos ensimmäinen arvo on falseja aseta toinen arvo.

Looginen OR-asetuslause

let x = 10;
x ||= 5;

Kokeile itse

Kaikki nykyaikaiset selaimet tukevat sitä vuodesta 2020 syyskuusta lähtien ||= Operaattori:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Elokuu 2020 Elokuu 2020 Maaliskuu 2020 Syyskuu 2020 Syyskuu 2020

Tyhjän arvon yhdistämisasetuslaskin(??= operaattori)

Tyhjän arvon yhdistämisasetuslaskin(Nullish Coalescing Assignment Operator) käytetään kahden arvon välillä.

jos ensimmäinen arvo undefined tai nullja aseta toinen arvo.

Tyhjän arvon yhdistämisasetuslaskin-esimerkki

let x = 10;
x ??= 5;

Kokeile itse

Kaikki nykyaikaiset selaimet tukevat sitä vuodesta 2020 syyskuusta lähtien ??= Operaattori:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Elokuu 2020 Elokuu 2020 Maaliskuu 2020 Syyskuu 2020 Syyskuu 2020