ECMAScript 2019
JavaScript ပုံစံအချက်အလက် စာရင်း
အရှိန် ကျဆင်း သော JS ပုံစံအချက်အလက် ကို နှစ်စဉ် အမည်ပြုထားသည်။ ES5 (2009) နှင့် ES6 (2015)
2016 ခုနှစ် ကတည်းက ပုံစံအချက်အလက် ကို နှစ်စဉ် အမည်ပြုထားသည်။ ECMAScript 2016、2017、2018、2019 နှင့်ပြီ
ES2019 တွင် အသစ် အခြေခံ အရာများ
- String.trimStart()
- String.trimEnd()
- Object.fromEntries
- လုံလောက်သော catch လက်ဆုံးဖြတ်
- Array.flat()
- Array.flatMap()
- Array.Sort() ကို အစားထိုးခဲ့သည်
- ပြန်လည်ပြင်ဆင်ထားသော JSON.stringify()
- စကားလုံး စာပေ တွင် ခွင့်ပြုထား သော အပိုင်းပိုင်း
- Function.toString() ကို အစားထိုးခဲ့သည်
သတိပေးချက်
သို့သော် အဆိုပါ အခြေခံ အရာများ မှ အသစ်
ပိုမို အကျဉ်းချုပ် ဘာသာ ကို သုံး သုံး သင့် လုပ်ငန်းအပါအဝင်
ဂျစတြေးလျ ကြော်ငြာအရာ အမှားဆောင်
ES2019 တွင် JavaScript အဆိုပါ စနစ် သုံး သုံး ပြုပြင်ခဲ့သည် trimStart()
。
trimStart()
သင့် စနစ်ကို trim()
သို့သော်လည်း သာ သက်သော သို့ အကွက်ကို ဖယ်ရှားကြသည်。
အက်ဥပဒေ
let text1 = " Hello World! "; let text2 = text1.trimStart();
2020 ခုနှစ် 1 လတွင် စတင်၍ အဆိုပါ စကားလုံး သုံး သုံး စက်တင်သည်။ JavaScript String trimStart() ကို ထောက်ပံ့ကြသည်
ချီးရီ | အိန်ဂျယ် | ဖက်ဒရာ | ဆိုဖ် | အိုပရာ |
---|---|---|---|---|
ချီးရီ 66 | အိန်ဂျယ် 79 | ဖက်ဒရာ 61 | ဆိုဖ် 12 | အိုပရာ 50 |
2018 ခုနှစ် ဇွန် လ | 2020 ခုနှစ် ဇန်နဝါရီ လ | 2018 ခုနှစ် ဇွန် လ | 2018 ခုနှစ် စက်တင်ဘာ လ | 2018 ခုနှစ် ဇွန် လ |
ဂျစတြေးလျ ကြော်ငြာအရာ ပြန်လည်
ES2019 သည် JavaScript တွင် trimEnd()
သက်သော စနစ်
trimEnd()
သင့် စနစ်ကို trim()
သို့သော်လည်း သာ သက်သော သို့ အကွက်ကို ဖယ်ရှားကြသည်。
အက်ဥပဒေ
let text1 = " Hello World! "; let text2 = text1.trimEnd();
2020 ခုနှစ် ဇန်နဝါရီ လ ကတည်းက အဆိုပါ အသုံးချ အော်ဒါ တွင် JavaScript String trimEnd() ကို ထောက်ပံ့သည်:
ချီးရီ | အိန်ဂျယ် | ဖက်ဒရာ | ဆိုဖ် | အိုပရာ |
---|---|---|---|---|
ချီးရီ 66 | အိန်ဂျယ် 79 | ဖက်ဒရာ 61 | ဆိုဖ် 12 | အိုပရာ 50 |
2018 ခုနှစ် ဇွန် လ | 2020 ခုနှစ် ဇန်နဝါရီ လ | 2018 ခုနှစ် ဇွန် လ | 2018 ခုနှစ် စက်တင်ဘာ လ | 2018 ခုနှစ် ဇွန် လ |
ဂျစတြေးလျ အရာ အမှားဆောင်
ES2019 သည် JavaScript တွင် fromEntries()
အော်ဒါ အမည်းအများ
fromEntries()
အမည်းအစိတ် အကြိစား/အသုံးပြု အပိုင်းအစတွင် အော်ဒါ ကို ဖန်တီးရန် အခက်အဖြစ် အသုံးပြုသည်。
အက်ဥပဒေ
const fruits = [ ["apples", 300], ["pears", 900], ["bananas", 500] const myObj = Object.fromEntries(fruits);
2020 ခုနှစ် ဇန်နဝါရီ လ ကတည်းက အဆိုပါ အသုံးချ အော်ဒါ တွင် JavaScript Object fromEntries() ကို ထောက်ပံ့သည်:
ချီးရီ | အိန်ဂျယ် | ဖက်ဒရာ | ဆိုဖ် | အိုပရာ |
---|---|---|---|---|
ချီးရီ 73 | အိန်ဂျယ် 79 | ဖက်ဒရာ 63 | ဆိုဖ် 12.1 | အိုပရာ 60 |
2019 ခုနှစ် မတ် လ | 2020 ခုနှစ် ဇန်နဝါရီ လ | 2018 ခုနှစ် နိုဝင်ဘာ လ | 2019 ခုနှစ် မတ် လ | 2019 ခုနှစ် ဇွန် လ |
လုံလောက်သော catch လက်ဆုံးဖြတ်
ES2019 မှ စတင်၍ လိုမှာ သောက်သွင်း ပါ ဘဲ catch ပါးချင်း အသုံးပြုနိုင်သည်:
အက်ဥပဒေ
2019 ခုနှစ် ပြီးအောက်
try { // code } catch (err) { // code }
2019 ခုနှစ် ပြီးပိုင်း
try { // code } catch { // code }
2020 ခုနှစ် ဇန်နဝါရီ လ ကတည်းက အဆိုပါ အသုံးချ အော်ဒါ တွင် တိကျ အားဖြင့် ကျပ်တင်း စွမ်းဆောင်ခြင်း ကို ထောက်ပံ့သည်:
ချီးရီ | အိန်ဂျယ် | ဖက်ဒရာ | ဆိုဖ် | အိုပရာ |
---|---|---|---|---|
ချီးရီ 66 | အိန်ဂျယ် 79 | ဖက်ဒရာ 58 | ဆိုဖ် 11.1 | အိုပရာ 53 |
2018 ခုနှစ် ဇွန် လ | 2020 ခုနှစ် ဇန်နဝါရီ လ | 2018 ခုနှစ် ဇန်နဝါရီ လ | 2018 ခုနှစ် မတ် လ | 2018 ခုနှစ် ဇွန် လ |
ဂျစတြေးလျ အများအားဖြင့် အသုံးပြု
ES2019 သည် JavaScript တွင် flatMap()
အော်ဒါ အမည်းအများ
flatMap()
အမည်းအစိတ် အော်ဒါ အပိုင်းအစတွင် အပိုင်းစိတ် ပြုလုပ်ရန် အခက်အဖြစ် အသုံးပြုသည်。
အက်ဥပဒေ
const myArr = [[1,2],[3,4],[5,6]]; const newArr = myArr.flat();
2020 ခုနှစ် ဇန်နဝါရီ လ ကတည်းက အဆိုပါ အသုံးချ အော်ဒါ အများပြားစွာ တွင် JavaScript Array flat() ကို ထောက်ပံ့သည်:
ချီးရီ | အိန်ဂျယ် | ဖက်ဒရာ | ဆိုဖ် | အိုပရာ |
---|---|---|---|---|
ချီးရီ 69 | အိန်ဂျယ် 79 | ဖက်ဒရာ 62 | ဆိုဖ် 12 | အိုပရာ 56 |
2018 ခုနှစ် စက်တင်ဘာ လ | 2020 ခုနှစ် ဇန်နဝါရီ လ | 2018 ခုနှစ် စက်တင်ဘာ လ | 2018 ခုနှစ် စက်တင်ဘာ လ | 2018 ခုနှစ် စက်တင်ဘာ လ |
ဂျစတြေးလျ အများအားဖြင့် ပြန်လည်
ES2019 သည် JavaScript တွင် flatMap()
အော်ဒါ အမည်းအများ
flatMap()
စနစ်သည် အော်ဒါ အတိုင်း အစားထိုး ပြီး အပိုင်းအစတွင် အပိုင်းစိတ် ပြုလုပ်ရန် အခက်အဖြစ် အသုံးပြုသည်。
အက်ဥပဒေ
const myArr = [1, 2, 3, 4, 5, 6]; const newArr = myArr.flatMap((x) => x * 2);
အခြေခံ အများအားဖြင့် ပြန်လည်
ES2019 ပြန်လည်了 Array sort() 方法。
在 2019 年之前,规范允许不稳定的排序算法,例如 QuickSort。
在 ES2019 之后,浏览器必须使用稳定的排序算法:
当根据一个值对元素进行排序时,这些元素必须保持它们与具有相同值的其他元素的相对位置。
အက်ဥပဒေ
const myArr = [ {name:"X00",price:100 }, {name:"X01",price:100 }, {name:"X02",price:100 }, {name:"X03",price:100 }, {name:"X04",price:110 }, {name:"X05",price:110 }, {name:"X06",price:110 }, {name:"X07",price:110 }
အထဲတွင် သတ်မှတ် ပြီး အရွေးချိန် ပြုလုပ် ပါက အခြား အခြား အရွေးချိန် အခြေအနေ မှ ထွက်ပေါ် လာ ခြင်း မရှိ သည် လို့ ဖော်ပြပါ
X01 100 X03 100 X00 100 X03 100 X05 110 X04 110 X06 110 X07 110
ပြန်လည်ပြင်ဆင်ထားသော JSON.stringify()
ES2019 ပြန်လည်JSON.stringify() ဘက်
2019 အထိအထိ JSON ဟာ \ ကုဒ် အစကားရပ် အသုံးပြု ခြင်း အပေါ် အသုံးပြု ခွင့်မရှိပါဘူး
အက်ဥပဒေ
let text = JSON.stringify("\u26D4");
ES2019 အထိအထိ UTF-8 ကုဒ် အချက် အလက် (U+D800 မှ U+DFFF) ပေါ်မှာ JSON.stringify() ဟာ ဆိုင်းဆိုးသော Unicode အက္ခရာ ပြန်ပေးသည် အကျင်းပြီး ��� အသတ် ပြန်ပေးသည်
ဤ ပြုပြင်ပြီးနောက် UTF-8 ကုဒ် အချက် အလက် ပါဝင်သော စကားလုံး အစကားရပ် ဟာ JSON.stringify() ဖြင့် ကျယ်ပြီး အပြည့်အဝင် ပြန်ပေး ရန် မှတ်ချက်ချခဲ့သည်
ပြန်လည်ပြင်ဆင်ထားသော Function toString()
စကားလုံး စကားရပ် များ အတွက် အပတ်သား အစက် နှင့် ပိတ်ပိတ်ပိတ် အစက် အသုံးပြု ခွင့်ရသည်\u2028
နှင့် \u2029
)
2019 အထိအထိ ဒါတွေ အပတ်သား အစက် အကျိုးသတ် ပြီး အမှား ထွက်သွားပါတယ်
အက်ဥပဒေ
// ဒါဟာ ES2019 တွင် အကျိုးရှိပါတယ် let text = "\u2028";
အမှန်းချက်
ယခုအခါ JavaScript နှင့် JSON ဟာ အခြားအခြား အခြေခံ ချက်များ ပါဝင်သည်
ES2019 အထိအထိ
text = JSON.parse('"\u2028"') ဟာ '' အထူးသံ ပြန်ပေးသည်
text = '"\u2028"' ဟာ ထွက်သွားပါတယ်အက္ခရာ အမှား。
ကိုးကားရာ
ES2019 ပြန်လည်Function toString() မီးရထား
toString() မီးရထား အက်ဥပဒေ ပြန်လည်
2019 ခုနှစ် မှစ၍ toString() သည် အက်ဥပဒေ အရ ဘူးကလေး အပါဘဲ ဘူးကလေး ပြန်လည်ပြင်ဆင်ထားသည်။
2019 ခုနှစ် အထိ မည်သည့် ဘူးကလေး ဘူးကလေး အသုံးပြုခဲ့သည် (အစ်စ် မပါဘဲ သို့မဟုတ် အကွင်းပေါ် မပါဘဲ)။ 2019 ခုနှစ် မှစ၍ အက်ဥပဒေ သည် မူလ ဖြင့် ပြန်လည်ပြင်ဆင်ထားသည်။
အက်ဥပဒေ
function myFunction(p1, p2) { return p1 * p2; }