قرارداد نامگذاری JavaScript با ES1 ، ES2 ، ES3 ، ES5 و ES6 آغاز شد.
اما ، ECMAScript 2016 و 2017 ES7 و ES8 نامیده نمی شود.
از سال 2016 نسخه های جدید براساس سال نامگذاری می شوند (ECMAScript 2016/2017/2018).
ویژگی های جدید در ECMAScript 2017
این فصل ویژگی های جدید ECMAScript 2017 را معرفی می کند:
- پر کردن رشته JavaScript
- JavaScript Object.entries
- مقادیر JavaScript Object.
- توابع همگام سازی JavaScript
- جاوا اسکریپت حافظه مشترک
پر کردن رشته جاوا اسکریپت
ECMAScript 2017 دو روش String اضافه کرده است: padStart
و padEnd
برای پشتیبانی از 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 در اینترنت اکسپلورر پشتیبانی نمی شود.
Firefox و Safari اولین مرورگرهایی بودند که از padding string JavaScript پشتیبانی می کنند:
ورودی های شی Java JavaScript
ECMAScript 2017 یک Object.entries
روش جدید به اشیا اضافه می کند .
متد () Object.entries آرایه ای از جفت کلید / مقدار را در یک شی برمی گرداند:
مثال
const person = { firstName : "John", lastName : "Doe", age : 50, eyeColor : "blue" }; document.getElementById("demo").innerHTML = Object.entries(person);
Object.entries () استفاده از اشیا in را در حلقه ها ساده می کند:
مثال
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
:
مقادیر شی Java JavaScript
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
:
توابع Async جاوا اسکریپت
منتظر Timeout
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 اولین مرورگرهایی بودند که از توابع JavaScript async پشتیبانی می کنند: