"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > لماذا يتم مقارنة \"11\" بأنها أقل من \"3\" في JavaScript؟

لماذا يتم مقارنة \"11\" بأنها أقل من \"3\" في JavaScript؟

تم النشر بتاريخ 2024-11-04
تصفح:989

Why Does \

شذوذ مقارنة السلسلة: لماذا "11" أقل من "3" في JavaScript

يمكن أن يكون سلوك مقارنة السلسلة في JavaScript غير بديهي في بعض الأحيان. أحد الأمثلة على ذلك هو عدم المساواة '11'

في JavaScript، تتم مقارنة السلاسل من الناحية المعجمية حرفًا بحرف، من اليسار إلى اليمين. عندما تكون الأحرف مختلفة، تعتمد المقارنة على نقاط رمز Unicode الخاصة بها. رمز ASCII لـ '1' هو 49، بينما رمز ASCII لـ '3' هو 51. لذلك، فإن الحرف الأول من '11' (بنقطة رمز 49) أقل من الحرف الأول من '3' (برمز نقطة 51)، مما يؤدي إلى عدم المساواة '11'

إليك بعض الأمثلة الإضافية لتوضيح هذا السلوك:

  • '31'
  • '31'
  • '31'

من المهم لاحظ أن نفس قواعد المقارنة تنطبق على الحروف. إذا لم يكن "b" أقل من "a"، فلا يمكن أن يكون "abc" أقل من "aaa". ومع ذلك، فإن 'c' أقل من 'd'، لذا فإن 'abc' أقل من 'abd'.

لتجنب مثل هذه الحالات الشاذة عند مقارنة السلاسل كأرقام، يوصى بتحويلها بشكل صريح باستخدام عامل التشغيل ' ' :

 '11' 
بيان الافراج أعيد طبع هذه المقالة على: 1729224258 في حالة وجود أي انتهاك، يرجى الاتصال بـ [email protected] لحذفها
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3