الفواصل الزائدة في المصفوفات والكائنات: قياسية أم مسموح بها؟
أثار وجود فواصل زائدة في المصفوفات والكائنات بعض الجدل بشأنها التوحيد القياسي في جافا سكريبت. ينبع هذا السؤال من السلوك غير المتسق الذي لوحظ في المتصفحات المختلفة، وخاصة الإصدارات الأقدم من Internet Explorer.
حالة المواصفات
وفقًا لمواصفات ECMAScript 5 (القسم 11.1.5) )، يُسمح بفواصل زائدة بشكل صريح في القيم الحرفية للكائنات:
ObjectLiteral : { } { PropertyNameAndValueList } { PropertyNameAndValueList , }
لذلك، تعد الفواصل اللاحقة في القيم الحرفية للكائن جزءًا من مواصفات JavaScript الرسمية.
ES3 مقابل ES5
ومن المثير للاهتمام، زائدة لم تكن الفواصل الموجودة في القيم الحرفية للكائنات جزءًا من مواصفات ECMAScript 3. ومع ذلك، فقد تم تقديمها في ECMAScript 5 كميزة اختيارية.
المصفوفات والفواصل اللاحقة
تسمح مواصفات ECMAScript 5 (القسم 11.1.4) أيضًا بفواصل زائدة في حرفية المصفوفة:
ArrayLiteral : [ Elisionopt ] [ ElementList ] [ ElementList , Elision_opt ]
يشير "Elision" إلى فاصلة بدون عنصر مرتبط، مما يعني أن المصفوفات يمكن أن تحتوي على عناصر فارغة. ولذلك، فإن مصفوفة مثل [1،2،،،،] تعتبر جافا سكريبت صالحة، مما يؤدي إلى إنشاء مصفوفة تحتوي على عنصرين ولكن بطول خمسة.
توافق المتصفح
على الرغم من أن الفواصل اللاحقة تعد جزءًا من مواصفات JavaScript، فقد اختلف دعم المتصفح بمرور الوقت. ربما واجهت المتصفحات القديمة مثل IE8 مشكلات تتعلق بالفواصل اللاحقة، لكن المتصفحات الحديثة مثل Chrome وFirefox تدعمها بشكل كامل.
في الختام، تعد الفواصل الزائدة في المصفوفات والكائنات جزءًا من مواصفات ECMAScript، سواء في ES5 أو الإصدارات الأحدث. الإصدارات. توفر هذه الميزة المرونة في إمكانية قراءة التعليمات البرمجية وإمكانية صيانتها، وهي مدعومة على نطاق واسع بواسطة المتصفحات الحديثة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3