ECMAScript 2017

  • الصفحة السابقة JS 2016
  • الصفحة التالية JS 2018

بدأت قواعد التسمية في 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 إثنين من طرق String:padStart و padEnd، لدعم الملء عند بداية ونهاية 字رة.

实例

let str = "5";
str = str.padStart(4,0);
// النتيجة: 0005

جرب بنفسك

实例

let str = "5";
str = str.padEnd(4,0);
// 结果是: 5000

جرب بنفسك

Internet Explorer 不支持字符串填充。

Firefox 和 Safari 是第一批支持 JavaScript 字符串填充的浏览器:

Chrome IE Firefox Safari Opera
Chrome 57 Edge 15 Firefox 48 Safari 10 Opera 44
مارس 2017 أبريل 2017 2016 ٢١٤ ٨١ 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 ٢١٤ ١٦ 2016 ٢١٤ ٨١ 2016 ٢١٤ ١٦ مارس 2017 أكتوبر 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
أكتوبر 2016 2016 ٢١٤ ٨١ 2016 ٢١٤ ١٦ مارس 2017 أكتوبر 2016

وظائف الجافاسكربت الموسعة

انتظار التأخير

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 هما أولى المتصفحات التي تدعم الوظائف الجافاسكربت الموسعة بشكل متسلسل:

Chrome IE Firefox Safari Opera
Chrome 55 Edge 15 Firefox 52 Safari 11 Opera 42
ديسمبر 2016 أبريل 2017 مارس 2017 سبتمبر 2017 ديسمبر 2016
  • الصفحة السابقة JS 2016
  • الصفحة التالية JS 2018