Skip to content

ECMAScript 2015 (ES6) وما بعدها

Node.js مبنية على إصدارات حديثة من V8. من خلال مواكبة أحدث إصدارات هذا المحرك، نضمن وصول الميزات الجديدة من مواصفات JavaScript ECMA-262 إلى مطوري Node.js في الوقت المناسب، بالإضافة إلى تحسينات الأداء والاستقرار المستمرة.

جميع ميزات ECMAScript 2015 (ES6) مقسمة إلى ثلاث مجموعات للميزات المُشحنة والمرحلية وقيد التقدم:

  • جميع الميزات المُشحنة, التي يعتبرها V8 مستقرة، يتم تشغيلها افتراضيًا على Node.js ولا تتطلب أي نوع من علامات تشغيل وقت التشغيل.
  • الميزات المرحلية, وهي ميزات شبه مكتملة لا يعتبرها فريق V8 مستقرة، تتطلب علامة تشغيل وقت التشغيل: --harmony.
  • يمكن تفعيل الميزات قيد التقدم بشكل فردي بواسطة علامة harmony الخاصة بها، على الرغم من أن هذا يُنصح بشدة بعدم فعله إلا لأغراض الاختبار. ملاحظة: تعرض هذه العلامات بواسطة V8 وقد تتغير بشكل محتمل دون أي إشعار بإلغاء الاستخدام.

الميزات التي يتم شحنها مع كل إصدار من Node.js افتراضيًا؟

يوفر موقع الويب node.green نظرة عامة ممتازة على ميزات ECMAScript المدعومة في إصدارات مختلفة من Node.js، بناءً على جدول التوافق من kangax.

ما هي الميزات قيد التقدم؟

يتم إضافة ميزات جديدة باستمرار إلى محرك V8. بشكل عام، توقع وصولها إلى إصدار Node.js في المستقبل، على الرغم من أن التوقيت غير معروف.

يمكنك سرد جميع الميزات قيد التقدم المتاحة على كل إصدار من Node.js من خلال البحث في وسيطة --v8-options. يرجى ملاحظة أن هذه ميزات غير كاملة وربما معطلة من V8، لذا استخدمها على مسؤوليتك الخاصة:

sh
node --v8-options | grep "in progress"

لقد قمت بإعداد بنيتي الأساسية للاستفادة من علامة --harmony. هل يجب علي إزالتها؟

السلوك الحالي لعلامة --harmony على Node.js هو تمكين الميزات المرحلية فقط. بعد كل شيء، أصبحت الآن مرادفًا لـ --es_staging. كما ذكر أعلاه، هذه ميزات مكتملة لم تُعتبر مستقرة حتى الآن. إذا كنت ترغب في اللعب بأمان، خاصة في بيئات الإنتاج، فكر في إزالة علامة تشغيل وقت التشغيل هذه حتى يتم شحنها افتراضيًا على V8، وبالتالي على Node.js. إذا أبقيت هذه العلامة ممكّنة، فيجب أن تكون مستعدًا لتحسينات Node.js الإضافية لكسر التعليمات البرمجية الخاصة بك إذا قام V8 بتغيير دلالاتها لتتبع المعيار بشكل أوثق.

كيف يمكنني معرفة إصدار V8 الذي يأتي مع إصدار معين من Node.js؟

يوفر Node.js طريقة بسيطة لعرض جميع التبعيات والإصدارات الخاصة بها التي تأتي مع ملف ثنائي محدد من خلال كائن process العام. في حالة محرك V8، اكتب ما يلي في محطتك لاسترداد إصداره:

sh
node -p process.versions.v8