تقترح Microsoft و Igalia و Bloomberg لتضمين صيغة للتعريف في JS 

مايكروسوفت وإيجاليا وبلومبرج أعلنوا ذلك قبل أيام قليلة أخذ زمام المبادرة لتضمين بناء الجملة لتعريف النوع الصريح في المواصفات JavaScript ، مشابه للصيغة المستخدمة في لغة TypeScript.

حاليًا ، تم تقديم تغييرات النموذج الأولي المقترحة للتضمين في معيار ECMAScript للمناقشات الأولية (المرحلة 0).

يسعدنا اليوم أن نعلن عن دعمنا وتعاوننا في اقتراح المرحلة 0 الجديد لجلب بناء جملة اختياري وقابل للمسح إلى JavaScript. نظرًا لأن بناء الجملة الجديد هذا لن يغير الطريقة التي يتم بها تنفيذ الكود المحيط ، فسوف يتصرفون بشكل فعال مثل التعليقات. نعتقد أن هذا لديه القدرة على جعل TypeScript أسهل وأسرع في الاستخدام للتطوير على جميع المستويات. نود التحدث عن سبب سعينا وراء ذلك وكيف يعمل هذا الاقتراح على مستوى عالٍ.

يذكر أنه في tإن وجود معلومات صريحة عن النوع سيمنع العديد من الأخطاء في عملية التطوير ، سيوفر الفرصة لاستخدام تقنيات تحسين إضافية ، وتبسيط تصحيح الأخطاء ، وجعل التعليمات البرمجية أكثر قابلية للقراءة وأسهل لمطوري الطرف الثالث لتعديلها وصيانتها.

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

خلفية
هناك اتجاه حديث شاهده فريقنا في عالم JavaScript وهو الطلب على وقت التكرار الأسرع وتقليل خطوات البناء. بعبارة أخرى ، "اجعلها أسرع وأبسط".

بطريقة ما ، هذا يحدث بالفعل. بفضل نجاح المتصفحات دائمة الخضرة ، يمكن للمطورين في كثير من الأحيان تجنب تجميع إصدارات أحدث من JavaScript للتشغيل على أوقات التشغيل الأقدم. إلى حد ما ، ينطبق الأمر نفسه على التجميع: تحتوي معظم المتصفحات على دعم مدمج لاستخدام الوحدات النمطية ، لذلك يمكن اعتبار التجميع على أنه خطوة تحسين أكثر من كونه ضرورة. لقد كان هذا هو الحال بشكل متزايد ، فكيف تصمد TypeScript؟

في الوقت نفسه ، على عكس نوع المعلومات المحددة عبر شروح JSDoc المحددة كتعليقات ، المواصفات المباشرة من الأنواع مباشرة في بنيات تعريف متغير سيجعل الكود مرئيًا ومفهومًا أكثر وأسهل في التحرير.

على سبيل المثال ، ستتمكن IDEs التي تدعم TypeScript من تمييز الأخطاء في تعليمات JavaScript البرمجية المكتوبة على الفور دون إجراء عمليات تحويل إضافية. بالإضافة إلى ذلك ، فإن دعم النوع المدمج سيجعل من الممكن تشغيل البرامج المكتوبة بلهجات JavaScript النصية مثل TypeScript و Flow دون التحويل من لغة إلى أخرى.

من بين الأنواع ، يُقترح إضافة "سلسلة" و "رقم" و "منطقية" ، والتي يمكن استخدامها عند تحديد المتغيرات ، ومعلمات الوظيفة ، وعناصر الكائن ، وحقول الفئة ، والمصفوفات المكتوبة ("رقم []"). يُقترح أيضًا تقديم الدعم للأنواع المختلطة ("سلسلة | رقم") والأدوية.

بالنظر إلى كل هذا ، نخطط لتقديم هذا الاقتراح للمرحلة الأولى في الاجتماع العام القادم في مارس 1 لـ TC2022. سنفعل ذلك بدعم وتوجيه من أبطالنا المشاركين في هذا الاقتراح ، روب بالمر من بلومبرج ورومولو سينترا في إيغاليا.

قد يعني الوصول إلى المرحلة الأولى أن لجنة المعايير تعتقد أن بناء جملة النوع المتوافق لـ ECMAScript يستحق الدراسة. هذا ليس شيئًا مؤكدًا: هناك العديد من وجهات النظر القيمة داخل اللجنة ، ونتوقع قدرًا معينًا من الشك. سيتلقى اقتراح كهذا الكثير من التعليقات والتدقيق المناسب. يمكن أن يتضمن الكثير من تغييرات التصميم على طول الطريق ، ويمكن أن يستغرق الأمر سنوات للحصول على النتائج.

في الاجتماع القادم مارس للجنة TC39 ، من المخطط الانتقال إلى المرحلة الأولى دراسة الاقتراح بمشاركة مجتمع خبراء ECMA.

أخيرا إذا كنت مهتمًا بمعرفة المزيد عنها ، يمكنك التحقق من التفاصيل في الرابط التالي.


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.