إي سي إم ايه سكريبت 2015 (ES6) وما بعدها
تم بناء Node.js على أحدث إصدارات V8. من خلال مواكبة أحدث إصدارات هذا المحرك، نضمن تقديم ميزات جديدة من مواصفات JavaScript ECMA-262 لمطوري Node.js في الوقت المناسب، بالإضافة إلى تحسينات مستمرة في الأداء والاستقرار.
يتم تقسيم جميع ميزات ECMAScript 2015 (ES6) إلى ثلاث مجموعات للميزات المتاحة
والمرحلية
وقيد التقدم
:
- جميع الميزات
المتاحة
، التي يعتبرها V8 مستقرة، يتمتشغيلها افتراضيًا على Node.js
ولا
تتطلب أي نوع من علامات وقت التشغيل. - تتطلب الميزات
المرحلية
، وهي ميزات شبه مكتملة لا يعتبرها فريق V8 مستقرة، علامة وقت التشغيل:--harmony
. - يمكن تنشيط الميزات
قيد التقدم
بشكل فردي عن طريق علامة التوافق الخاصة بها، على الرغم من أن هذا الأمر غير مستحسن بشدة إلا لأغراض الاختبار. ملاحظة: يتم عرض هذه العلامات بواسطة V8 ومن المحتمل أن تتغير دون أي إشعار بالتقادم.
ما هي الميزات التي يتم شحنها مع أي إصدار من Node.js افتراضيًا؟
يوفر موقع الويب node.green نظرة عامة ممتازة على ميزات ECMAScript المدعومة في إصدارات مختلفة من Node.js، استنادًا إلى جدول توافق kangax.
ما هي الميزات قيد التقدم؟
تتم إضافة ميزات جديدة باستمرار إلى محرك V8. بشكل عام، توقع وصولها إلى إصدار مستقبلي من Node.js، على الرغم من أن التوقيت غير معروف.
يمكنك سرد جميع الميزات قيد التقدم المتوفرة في كل إصدار من Node.js عن طريق البحث في وسيطة --v8-options
. يرجى ملاحظة أن هذه الميزات غير مكتملة وربما معطلة في V8، لذا استخدمها على مسؤوليتك الخاصة:
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، اكتب ما يلي في جهازك الطرفي لاسترداد إصداره:
node -p process.versions.v8