ECMAScript 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
- functions asynchronous در JavaScript
- مνήب shared memory در JavaScript
پر کردن رشتهها در JavaScript
ECMAScript 2017 دو روش جدید برای رشتهها اضافه کرده است:padStart
و padEnd
، برای پشتیبانی از پر کردن ابتدای و انتهای رشتهها.
مثال
let str = "5"; str = str.padStart(4,0); // نتیجه: 0005
مثال
let str = "5"; str = str.padEnd(4,0); // نتیجه: 5000
Internet Explorer از پر کردن رشتهها پشتیبانی نمیکند.
Firefox و Safari اولین مرورگرهایی هستند که
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 57 | Edge 15 | Firefox 48 | Safari 10 | Opera 44 |
مارس 2017 | آوریل 2017 | 2016 سال 8 ماه | 2016 سال 9 ماه | مارس 2017 |
مقادیر اشیاء JavaScript
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));
Chrome و Firefox اولین مرورگرهایی هستند که Object.entries
مرورگرهایی که:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 47 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
2016 سال 6 ماه | 2016 سال 8 ماه | 2016 سال 6 ماه | مارس 2017 | october 2016 |
مقادیر اشیاء JavaScript
Object.values
مانند Object.entries
، اما به یک آرایه یک بعدی از مقادیر اشیاء بازمیگردد:
مثال
const person = { firstName : ";Bill", lastName : ";Gates", age : 50, eyeColor : ";blue" }; document.getElementById("demo").innerHTML = Object.values(person);
Firefox و Chrome اولین مرورگرهایی هستند که Object.values
مرورگرهایی که:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 54 | Edge 14 | Firefox 47 | Safari 10.1 | Opera 41 |
october 2016 | 2016 سال 8 ماه | 2016 سال 6 ماه | مارس 2017 | october 2016 |
функції Async در JavaScript
ожидание таймаута
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 غیرمستقیم پشتیبانی میکنند:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 55 | Edge 15 | Firefox 52 | Safari 11 | Opera 42 |
دسامبر 2016 | آوریل 2017 | مارس 2017 | سپتامبر 2017 | دسامبر 2016 |