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