ECMAScript 2020

Namba ya versioni ya JavaScript

Barani za JS za zamani zinaingia kwa namba: ES5 (2009) na ES6 (2015).

Kuanza kutoka 2016, versioni zinaingia kwa machi: ECMAScript 2016, 2017, 2018, 2019, ...

Mafanikio ya ES2020:

Kulangia

Mafanikio haya ni mpya sana.

Barani za kufikia zamani inayoweza kutumika kwa programu za mawasiliano (Polyfill).

BigInt ya JavaScript

Variabali za BigInt za JavaScript zinaongea tabia za inani kubwa zaidi ya inauonekana kwa inani za JavaScript za kawaida.

Inani la JavaScript kinakadhibiti hadi watano wa namba 15.

Mfano wa inani

let x = 999999999999999;
let y = 9999999999999999; // Kwa ukubwa sana

Tafuta tena

Mfano wa BigInt

let x = 9999999999999999;
let y = 9999999999999999n;

Tafuta tena

Kuondoa BigInt, tafadhali ingia: n Ongeza kwenye mawasiliano ya inani au tafadhali ingia BigInt():

Mfano

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

Tafuta tena

Tuhumu ya JavaScript ya BigInt ni "bigint":

Mfano

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

Tafuta tena

Kuanza kwa Septemba 2020, barani zote za kifunzi kinaonyesha BigInt:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
Mai 2018 Januari 2020 Julai 2019 Mwezi wa Septemba 2020 Juni 2018

Method ya string ya JavaScript matchAll()

Kwenye ES2020 hataa, hakuna method ya string ambayo inaweza kutafuta uadilifu wa msingi zote katika string.

Mfano

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

Tafuta tena

Kama para ni uadilifu wa msingi, inafaa kubadilisha nguvu ya kina (g) na wengine hatutakiwa kuwaanza kusababisha kosa TypeError.

Mfano

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

Tafuta tena

Kama ungependa kutafuta kwa nguvu ya kina, inafaa kubadilisha nguvu ya kina (i)

Mfano

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

Tafuta tena

Matokeo:ES2021 Inakusanya method ya string replaceAll().

Operator wa kusambatia thamani zingine (Nullish Coalescing Operator) (operator ??)

Kama para ya kwanza haikuwa thamani yako hataa (null au undefinedni ?? Operator inatoa para ya kwanza.

inaonyesha ujumbe wa pili.

Mfano

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

Tafuta tena

Kuanzia Machi 2020, tabia zote za kifaa kinaonyesha operator ya nullish:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
Februari 2020 Februari 2020 Januari 2020 Mwezi wa Machi 2020 Mwezi wa Machi 2020

Operator wa ukiafu (Optional Chaining Operator) (operator ?.)

Kama kifaa ni undefined au nullniOperator wa ukiafuInatoa undefined(hataa kusababisha kosa).

Mfano

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

Tafuta tena

Kuanzia Machi 2020, tabia zote za kifaa kinaonyesha operator ya nullish ?.= Operator:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
Februari 2020 Februari 2020 Mwezi wa Machi 2020 Mwezi wa Machi 2020 Mwezi wa Machi 2020

Operator ya uharibifu wa logiki uletengana (&&= operator)

Operator wa kifanyike kwa ANDinaonyesha kati ya ujumbe mbili.

Kama ujumbe wa kwanza ni Truehatau, kuingiza ya chaguo ya pili.

Mfano wa kifanyike kwa AND

let x = 100;
x &&= 5;

Tafuta tena

Kuanzia Septemba 2020, tabia zote za kina za barabara zinaonyesha &&= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Mwezi wa Agosti 2020 Mwezi wa Agosti 2020 Mwezi wa Machi 2020 Mwezi wa Septemba 2020 Mwezi wa Septemba 2020

Operator wa kifanyike kwa OR (operator ||=)

Operator wa kifanyike kwa ORinaonyesha kati ya ujumbe mbili.

Kama ujumbe wa kwanza ni Falsehatau, kuingiza ya chaguo ya pili.

Mfano wa kifanyike kwa OR kwa uagiza

let x = 10;
x ||= 5;

Tafuta tena

Kuanzia Septemba 2020, tabia zote za kina za barabara zinaonyesha ||= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Mwezi wa Agosti 2020 Mwezi wa Agosti 2020 Mwezi wa Machi 2020 Mwezi wa Septemba 2020 Mwezi wa Septemba 2020

Operator wa kusamehua wa mawazo haujazidi (??= operator)

Operator wa kusamehua wa mawazo haujazidikwa uharibifu wa mawazo haujazidi wa kusamehua wa mawazo (Nullish Coalescing Assignment Operator) kati ya maadili.

kama chaguo cha kwanza undefined au nullhatau, kuingiza ya chaguo ya pili.

Mfano wa kusamehua wa mawazo haujazidi wa kusamehua wa mawazo

let x = 10;
x ??= 5;

Tafuta tena

Kuanzia Septemba 2020, tabia zote za kina za barabara zinaonyesha ??= Operator:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
Mwezi wa Agosti 2020 Mwezi wa Agosti 2020 Mwezi wa Machi 2020 Mwezi wa Septemba 2020 Mwezi wa Septemba 2020