ECMAScript 2020

JavaScript ဘရပ်သီးအမည်

အခြေခံ JS အမည်တွင် အရေးပါသော အမည်တွင် အမည်ပေးခြင်းဖြစ်သည်: ES5 (2009) နှင့် ES6 (2015):

2016 ခုနှစ် မှ စတင်၍ အဆိုပါ ဘရပ်သီးတို့ ကို နှစ်ခုစလုံး အမည်တွင် အမည်ပေးခြင်းဖြစ်သည်: ECMAScript 2016、2017、2018、2019、...

ES2020 တွင် အခြေခံ အကျဉ်းချုပ်:

အကြောင်းပြချက်

အခြေခံ အကျဉ်းချုပ် သည် အခြေခံ ဘရပ်သီးတို့ ကို ထောက်ပံ့သည်:

အကျဉ်းချုပ်သော ဘရပ်သီးတို့ အားလုံး အစိတ်အပိုင်းခွဲသင်္ကေတ်တို့ကို အသုံးပြုသင့်မည်:

JavaScript BigInt

JavaScript BigInt အလိုရှိသည် အရေးပါသည့် အကွက် အရှိုးအသား ကို ကျယ်ပြီး အရေးပါသည့် JavaScript အရေးပါသော အကွက် အရှိုးအသား ကို ထိန်းချုပ်ရန် သုံးစွဲသည်:

JavaScript အရေးပါသော အကယ်၍ အရေးပါသည့် အကွက် အရှိုးအသား ကို အရေးပါသည့် ၁၅ လုံး သာ ချဲ့နိုင်သည်:

Integer အမှုထမ်း

let x = 999999999999999;
let y = 9999999999999999; // အကြီးသည်

亲自试一试

BigInt အမှုထမ်း

let x = 9999999999999999; // အကြီးသည်
let y = 9999999999999999n;

亲自试一试

BigInt ကို ဖန်တီးရန် အရေးပါသည့် ကျောင်းသား ကို BigInt() ကို ခေါ်ဆိုခြင်း: n အရေးပါသည့် အကယ်၍ BigInt ကို ဖန်တီးရန် ကျောင်းသား ကို နောက်ခံသင်္ကေတ်တို့သို့ ထပ်လျက်ချက်ပေးခြင်းဖြစ်သည်:

အမျိုးမျိုး

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

亲自试一试

BigInt ရှိ JavaScript အမျိုးအစား "bigint" ဖြစ်သည်:

အမျိုးမျိုး

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

亲自试一试

နှစ် 2020 မေ လ မှ စတင်၍ အသုံးချီးသော ဘရပ်သီးတို့ အားလုံး ပါဝင်သည် BigInt ကို ထောက်ပံ့သည်:

Chrome Edge Firefox Safari Opera
Chrome 67 Edge 79 Firefox 68 Safari 14 Opera 54
2018 ခုနှစ် 5 လ 2020 ခုနှစ် 1 လ 2019 ခုနှစ် 7 လ 2020 年 9 月 2018 ခုနှစ် 6 လ

ဂျပ်တာ ကျော်ဖြတ် အမှတ်အသား အမျိုးမျိုး

ES2020 အခြား အတ္ထုပါ ဘာသာစကား အား အကြောင်း အရာ အား ရှာဖွေ လုပ်ဆောင် ရန် အသုံးပြု သည် မဟုတ်

အမျိုးမျိုး

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

亲自试一试

အရာg),အခြား အခါ TypeError ဖြစ်ပေါ်လာမည်

အမျိုးမျိုး

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

亲自试一试

အကြောင်းကို အခြေခံ အသုံးပြု သော အရာi):

အမျိုးမျိုး

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

亲自试一试

အဆိုပါES2021 replaceAll() စကားလုံး ပြောင်းလဲသည် အထဲသို့ ပြန်လည်ပေးသည်

အမြဲမမှု ပေါင်းစပ်လိမ့်မည် အထုတ်အချက် (Nullish Coalescing Operator) (?? အထုတ်အချက်)

ပထမ အတ္ထုပါ အကြောင်းnull အကြောင်း undefined),အခြား ?? အထုတ်အချက် ပြန်လည်သတင်း

အခြား ပြန်လည်သတင်း

အမျိုးမျိုး

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

亲自试一试

2020 ခုနှစ် 3 လ ကတည်းက အဆိုပါ အတ္ထုပါ ဘာသာစကား အား nullish အထုတ်အချက် ပေးသည်

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 72 Safari 13.1 Opera 67
2020 ခုနှစ် 2 လ 2020 ခုနှစ် 2 လ 2020 ခုနှစ် 1 လ 2020 年 3 月 2020 年 3 月

အတွက်ကျေးဇူးဆိုင်ရာ အထုတ်အချက် (Optional Chaining Operator) (?. အထုတ်အချက်)

အရာ undefined အကြောင်း nullသို့မဟုတ်အတွက်ကျေးဇူးဆိုင်ရာ အထုတ်အချက်ပြန်လည်သတင်း undefined(အကြမ်းဖတ် အမှား ဖြစ်ပေါ်လာမည် မဟုတ်)

အမျိုးမျိုး

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

亲自试一试

2020 ခုနှစ် 3 လ ကတည်းက အဆိုပါ အတ္ထုပါ ဘာသာစကား အား အကူအညီပေးသည် ?.= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 80 Edge 80 Firefox 74 Safari 13.1 Opera 67
2020 ခုနှစ် 2 လ 2020 ခုနှစ် 2 လ 2020 年 3 月 2020 年 3 月 2020 年 3 月

လက်ဆုံး လက်ဆုံး လက်ဆုံး လက်ဆုံး လက်ဆုံး

အကြောင်း AND တိုးပေးလိမ့်မည် အထုတ်အချက်နှစ်ခု အကြောင်း အကြားသို့ အသုံးပြုသည်。

ပထမဆုံး အတ္ထုပါ အကြောင်း true,则分配第二个值。

အကြောင်း AND တိုးပေးလိမ့်မည် အမျိုးမျိုး

let x = 100;
x &&= 5;

亲自试一试

自 2020 年 9 月以来,所有现代浏览器都支持 &&= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
2020 年 8 月 2020 年 8 月 2020 年 3 月 2020 年 9 月 2020 年 9 月

အကြောင်း OR တိုးပေးလိမ့်မည် အထုတ်အချက် (||= အထုတ်အချက်)

အကြောင်း OR တိုးပေးလိမ့်မည် အထုတ်အချက်နှစ်ခု အကြောင်း အကြားသို့ အသုံးပြုသည်。

ပထမဆုံး အတ္ထုပါ အကြောင်း false,则分配第二个值。

အကြောင်း OR တိုးပေးလိမ့်မည်

let x = 10;
x ||= 5;

亲自试一试

自 2020 年 9 月以来,所有现代浏览器都支持 ||= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
2020 年 8 月 2020 年 8 月 2020 年 3 月 2020 年 9 月 2020 年 9 月

空值合并赋值运算符(??= 运算符)

空值合并赋值运算符(Nullish Coalescing Assignment Operator)用于两个值之间。

如果第一个值 undefined 或为 null,则分配第二个值。

空值合并赋值实例

let x = 10;
x ??= 5;

亲自试一试

自 2020 年 9 月以来,所有现代浏览器都支持 ??= 运算符:

Chrome Edge Firefox Safari Opera
Chrome 85 Edge 85 Firefox 79 Safari 14 Opera 71
2020 年 8 月 2020 年 8 月 2020 年 3 月 2020 年 9 月 2020 年 9 月