ای سی ایم اے اس 2017
نقشهگذاری نامگذاری JavaScript از ES1، ES2، ES3، ES5 و ES6 آغاز شده است.
اما ECMAScript 2016 و 2017 به ES7 و ES8 معروف نشدهاند.
از سال 2016 به بعد، نسخههای جدید بر اساس سال نامگذاری شدهاند (ECMAScript 2016/2017/2018).
ویژگیهای جدید ECMAScript 2017
این فصل جدیدترین ویژگیهای ECMAScript 2017 را معرفی میکند:
- پر کردن رشتهها در JavaScript
- Object.entries در JavaScript
- Object.values در JavaScript
- توابع غیر همزمان JavaScript
- مشترکات حافظه JavaScript
پر کردن رشتهها در JavaScript
ECMAScript 2017 دو روش جدید برای رشتهها اضافه کرده است:padStart
و padEnd
، تا بتوان در ابتدای و انتهای رشته پر کرد.
مثال
let str = "5"; str = str.padStart(4,0); // نتیجه: 0005
مثال
let str = "5"; str = str.padEnd(4,0); // نتیجه: 5000
اینترنت اکسپلورر از پر کردن رشتهها پشتیبانی نمیکند.
فایرفاکس و سافاری اولین گروهی از پشتیبانی کنندگان از پر کردن رشتههای جاوااسکریپت هستند:
کروم | آئی ای | فائر فاکس | سافری | اورپا |
---|---|---|---|---|
کروم 57 | ایج 15 | فایرفاکس 48 | سافاری 10 | اپرا 44 |
2017 کا مارچ | 2017 کا اپریل | 2016 سال 8 ماه | 2016 سال 9 ماه | 2017 کا مارچ |
جفتهای کلید/مقدار جاوااسکریپت
ECMAScript 2017 ویژگیهای جدیدی به ابرگذارش اضافه کرده است Object.entries
روش.
Object.entries() روشی است که آرایهای از جفتهای کلید/مقدار از یک ابرگذارش برمیگرداند:
مثال
const person = { firstName : ":Bill", lastName : ":Gates", age : 50, eyeColor : ":blue" }; document.getElementById("demo").innerHTML = Object.entries(person);
Object.entries() به سادگی استفاده از ابرگذارش در چرخهها را ممکن میکند:
مثال
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));
کروم و فایرفاکس اولین گروهی از پشتیبانی کنندگان هستند Object.entries
گرداننده:
کروم | آئی ای | فائر فاکس | سافری | اورپا |
---|---|---|---|---|
کروم 47 | ایج 14 | فایرفاکس 47 | سافاری 10.1 | اپرا 41 |
2016 سال 6 ماه | 2016 سال 8 ماه | 2016 سال 6 ماه | 2017 کا مارچ | 2016 کا دسمبر |
مقادیر جاوااسکریپت
Object.values
مانند Object.entries
، اما به یک آرایه یک بعدی از مقادیر اهداف باز میگردد:
مثال
const person = { firstName : ":Bill", lastName : ":Gates", age : 50, eyeColor : ":blue" }; document.getElementById("demo").innerHTML = Object.values(person);
فایرفاکس و کروم اولین گروهی از پشتیبانی کنندگان هستند Object.values
گرداننده:
کروم | آئی ای | فائر فاکس | سافری | اورپا |
---|---|---|---|---|
کروم 54 | ایج 14 | فایرفاکس 47 | سافاری 10.1 | اپرا 41 |
2016 کا دسمبر | 2016 سال 8 ماه | 2016 سال 6 ماه | 2017 کا مارچ | 2016 کا دسمبر |
جسٹا اسکریپٹ ایسنچ فانکشن
انتظار تاخیر
ایسکین فونکشن مائی ڈسپلے() { لیٹ مائی پرمنس = نیو پرمنس(فونکشن(مائی ریزیل، مائی ریجکت) { ایسٹائپائید(فونکشن() { مائی ریزیل("می لا یو !!"); }, 3000); }); ڈاکومن اگیدار("ڈی مو").اینایلر ہینڈ(ایچیئوایس می پرمس); } مائی ڈسپلے();
فائر فاکس اور کروم پہلے سے آگلے آسین جسٹا اسکریپٹ فانکشن کا سپورٹ کرنے والے براوزر ہیں:
کروم | آئی ای | فائر فاکس | سافری | اورپا |
---|---|---|---|---|
کروم 55 | ایج 15 | فائر فاکس 52 | سافری 11 | اورپا 42 |
2016 کا دسمبر | 2017 کا اپریل | 2017 کا مارچ | 2017 کا ستمبر | 2016 کا دسمبر |