ECMAScript 2017
JavaScript အမည်ပေးခြင်း သဘောတူညီချက်ကို ES1၊ ES2၊ ES3၊ ES5 နှင့် ES6 တို့ဖြင့် စတင်ခဲ့သည်။
သို့သော်၊ ECMAScript 2016 နှင့် 2017 ကို ES7 နှင့် ES8 ဟုခေါ်သည်မဟုတ်ပါ။
2016 ခုနှစ်မှစတင်၍ ဗားရှင်းအသစ်များကို နှစ်အလိုက် (ECMAScript 2016/2017/2018) ဟု အမည်ပေးထားပါသည်။
ECMAScript 2017 တွင် အင်္ဂါရပ်အသစ်များ
ဤအခန်းသည် ECMAScript 2017 တွင် အင်္ဂါရပ်အသစ်များကို မိတ်ဆက်ပေးသည်-
- JavaScript String padding
- JavaScript Object.entries
- JavaScript Object.values
- JavaScript async လုပ်ဆောင်ချက်များ
- JavaScript မျှဝေထားသော memory
JavaScript String Padding
ECMAScript 2017 သည် String နည်းလမ်းနှစ်ခုကို ပေါင်းထည့်ထားသည်- padStart
နှင့် padEnd
string တစ်ခု၏ အစနှင့် အဆုံးတွင် padding ကို ပံ့ပိုးရန်။
ဥပမာ
let str = "5";
str = str.padStart(4,0);
// result is 0005
ဥပမာ
let str = "5";
str = str.padEnd(4,0);
// result is 5000
String Padding ကို Internet Explorer တွင် မပံ့ပိုးပါ။
Firefox နှင့် Safari တို့သည် JavaScript string padding အတွက် ပထမဆုံးသော browser များဖြစ်သည်-
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
Mar 2017 | Apr 2017 | Aug 2016 | Sep 2016 | Mar 2017 |
JavaScript Object ထည့်သွင်းမှုများ
Object.entries
ECMAScript 2017 သည် အရာဝတ္ထုများသို့ နည်းလမ်း အသစ်တစ်ခုကို ပေါင်းထည့်သည် ။
Object.entries() နည်းလမ်းသည် အရာဝတ္ထုတစ်ခုရှိ သော့/တန်ဖိုးအတွဲများ၏ array တစ်ခုကို ပြန်ပေးသည်-
ဥပမာ
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.entries(person);
Object.entries() သည် loops များတွင် အရာဝတ္ထုများကို အသုံးပြုရန် ရိုးရှင်းစေသည်။
ဥပမာ
const fruits = {Bananas:300, Oranges:200, Apples:500};
let text = "";
for (let [fruit, value] of Object.entries(fruits)) {
text += fruit + ": " + value + "
";
}
Object.entries() သည် အရာဝတ္ထုများကို မြေပုံများအဖြစ် ပြောင်းရန် ရိုးရှင်းစေသည်-
ဥပမာ
const fruits = {Bananas:300, Oranges:200, Apples:500};
const myMap = new Map(Object.entries(fruits));
Chrome နှင့် Firefox သည် အောက်ပါတို့အတွက် ပံ့ပိုးမှုရှိသော ပထမဆုံးဘရောက်ဆာများဖြစ်သည်
Object.entries
။
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Jun 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
JavaScript Object တန်ဖိုးများ
Object.values
တူညီကြသည် Object.entries
၊ သို့သော် အရာဝတ္ထုတန်ဖိုးများ၏ အတိုင်းအတာတစ်ခုတည်း ခင်းကျင်းခြင်းကို ပြန်ပေးသည်-
ဥပမာ
const person = {
firstName : "John",
lastName : "Doe",
age : 50,
eyeColor : "blue"
};
document.getElementById("demo").innerHTML =
Object.values(person);
Firefox နှင့် Chrome သည် အောက်ပါတို့အတွက် ပံ့ပိုးမှုရှိသော ပထမဆုံးဘရောက်ဆာများဖြစ်သည်
Object.values
။
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
Oct 2016 | Aug 2016 | Jun 2016 | Mar 2017 | Oct 2016 |
JavaScript Async လုပ်ဆောင်ချက်များ
အချိန်ကုန်ရန် စောင့်နေသည်။
async function myDisplay() {
let myPromise = new Promise(function(myResolve, myReject) {
setTimeout(function() { myResolve("I love You !!"); }, 3000);
});
document.getElementById("demo").innerHTML = await myPromise;
}
myDisplay();
Firefox နှင့် Chrome တို့သည် async JavaScript လုပ်ဆောင်ချက်များကို ပံ့ပိုးပေးသည့် ပထမဆုံးဘရောက်ဆာများဖြစ်သည်-
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
Dec 2016 | Apr 2017 | Mar 2017 | Sep 2017 | Dec 2016 |