javascript - تتوفر ميزات ECMAScript 6 في Node.js 0.12




v8 ecmascript-6 (2)

ميزات ES6 تتدفق إلى العقدة على مراحل. تستخدم العقدة V8 من Google كمحرك JavaScript. الميزة التي يتم دعمها في Node تعني أنه يجب تنفيذها أولاً في الإصدار الثامن ثم يتوجب على Node team دمجها في Node.js.

يصدر فريق Google إصدارًا جديدًا من الإصدار الثامن كل ستة أسابيع تقريبًا ، ومن ثم يعود الأمر لفريق Node ليتم استخدامه.

قوائم الميزات اللغوية التي يتم تنسيقها يدويًا لطيفة ولكنها قد تصبح قديمة بسرعة. لم تعد Node 0.12 موجودة في التدفق ، ولكن عادةً ما تصبح القائمة المنسقة يدويًا قديمة الطراز بمجرد طرح إصدار جديد من Node.

فيما يلي طريقتان بديلتان للتحقق من الميزات التي يدعمها إصدار العقدة ، دون الاعتماد على قائمة ثابتة. لمزيد من القراءة والمزيد من الأمثلة التفصيلية لاستخدام هذه ، يمكنك التحقق من "كيفية التحقق مما إذا كان Node.js يدعم ميزة لغة ES 6"

# 1 جدول التوافق السهل

تظل القائمة التي تم إنشاؤها ديناميكيًا والتي تعتمد على اختبارات صغيرة لتأكيد وجود ميزة اللغة محدثة بشكل أفضل. إحدى هذه القوائم الشائعة هي kangax.github.io/compat-table/es6/. نحن مهتمون فقط بميزات العقدة ، بحيث يمكنك استخدامها

http://node.green

التي تستفيد من نفس البيانات مثل موقع kangax.

# 2 الصعب التراجع الإصدار V8

يستخدم Node محرك V8 ، لذا فإن تحديد إصدار V8 المتضمن في Node يوضح لنا ميزات اللغة ES6 المدعومة. يمكنك معرفة إصدار V8 الذي تم تضمينه في العقدة باستخدام node -p process.versions.v8 .

$ node -p process.versions.v8
4.6.85.31

ثم باستخدام موارد مشروع V8 من Google ، يمكنك العثور على الميزات التي يتم تنفيذها في كل إصدار. يحتفظ مشروع V8 بتتبع المشكلات حيث يمكنك العثور على ES6 + وراء الميزات التي تحمل علامة التناغم .

وصل إصدار مستقر جديد من Node.js (0.12) مؤخرًا إلى محرك جافا سكريبت v8 من Google ، الإصدار 2.38.73 .

ما هي ميزات ECMAScript 6 الموجودة حاليًا في Node.js ، دون استخدام --harmony ؟

لقد راجعت العديد من المواقع التي تدعي أنها تدرج ميزات ES 6 ، ولكن يبدو أن جميعها قديم ، وهذا الجدول ( التحديث: تم تحديثه الآن مع حالة Node.js الحالية اعتبارًا من 0.12 ) ، حيث يتم تحديث العديد من الميزات كـ يتطلب العلم - --harmony بينما وجدت أن بعضها يتم تمكينه افتراضيًا (خرائط ، مجموعات ، رموز ، على سبيل المثال لا الحصر). تحديث : منذ ذلك الحين أصبحت الجداول المحددة للعقدة متاحة

أيضًا ، محاولة الحصول على هذه المعلومات من Google لمجرد إصدار محرك v8 توفر معلومات محدثة للغاية - الإصدار الحالي من الإصدار 8 هو 4.2. * ، وهو ما يسبق ما تستخدمه Node.js.

آمل أن يصبح هذا السؤال (وإجاباته) ملخصًا شاملاً حول ميزات ES 6 المتاحة الآن لمطوري Node.js.

تم تمكين ميزات ES 6 في Node.js 0.12 التي أعرفها حاليًا:

  • خرائط ، مجموعات / نقاط الضعف ، نقاط الضعف
  • حرف
  • Object.observe
  • وعود
  • رقم
    • .isInteger
    • .isSafeInteger
    • .isNaN
    • .EPSILON
    • .MIN_SAFE_INTEGER
    • .MAX_SAFE_INTEGER
  • الرياضيات
    • .clz32
    • .imul
    • .إشارة
    • .log10
    • .log2
    • .log1p
    • .expm1
    • .ضرب بالعصا
    • .sinh
    • .tanh
    • .acosh
    • .asinh
    • .atanh
    • .trunc
    • .fround
    • .cbrt
    • .hypot

ميزات دون - علم --harmony :

أعتقد أن هذا هو كل ما لدينا بدون علم --harmony .

الميزات مع - علم --harmony :

أعتقد أن هذا كل شيء. ربما إذا نسيت شيئًا - سأضيفه لاحقًا إلى القائمة.





ecmascript-6