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

الخلل في جافا سكريبت

تم النشر بتاريخ 2024-09-02
تصفح:691

The Bug in JavaScript

جافا سكريبت هي اللغة المفضلة لدى الملايين من مطوري الواجهة الأمامية في جميع أنحاء العالم، ولكن مثل أي أداة، لديها مراوغاتها.

هل تساءلت يومًا عما يحدث عند استخدام عامل التشغيل typeof على null؟ حسنًا، هذا أحد أغرب الأشياء وأكثرها إرباكًا في جافا سكريبت.

يعمل عامل التشغيل typeof بشكل جيد مع القيم الحرفية مثل "Hello World"، حيث يقوم بإرجاع string كنوعه. الشيء نفسه ينطبق على الأرقام و المنطقية.

ومع ذلك، عندما يتعلق الأمر بـ null، قد تتوقع أن يُرجع شيئًا مثل null أو غير محدد، أليس كذلك؟ ولكن قد تتفاجأ عندما تعلم أنه عندما نستخدم عامل التشغيل typeof على null، فإنه يُرجع في الواقع object.

تبدو هذه النتيجة غريبة ويمكن أن تزعج المطورين بسهولة، خاصة أولئك الجدد في استخدام JavaScript.

ولكن لماذا تفعل JavaScript ذلك؟

لفهم ذلك، علينا العودة إلى الأيام الأولى لجافا سكريبت في التسعينيات.

في ذلك الوقت، عندما تم تطوير اللغة لأول مرة، كان هناك خطأ في تصميمها. تم إعطاء القيمة null رمزًا داخليًا خاصًا مشابهًا لذلك المستخدم للكائنات. ونتيجة لذلك، عندما يقوم عامل التشغيل typeof بالتحقق من null، فإنه يعرّفه عن طريق الخطأ ككائن.

على الرغم من أن هذا كان خطأ غير مقصود، إلا أنه لا يزال يعتبر خطأ لأنه يتحدى المنطق.

لسوء الحظ، ظل هذا الخطأ موجودًا لفترة طويلة لدرجة أن إصلاحه الآن سيؤدي على الأرجح إلى كسر الكثير من التعليمات البرمجية الموجودة التي تعتمد على السلوك الحالي.

ولكن بمرور الوقت، تعلم العديد من المطورين التعايش معه وإيجاد طرق للتغلب عليه.

هذا تذكير لنا جميعًا بأنه لا توجد لغة برمجة مثالية، بغض النظر عن مدى استخدامها على نطاق واسع.

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


للبقاء على اطلاع بالمزيد من المحتوى المتعلق بتطوير الويب والذكاء الاصطناعي، لا تتردد في متابعتي. دعونا نتعلم وننمو معًا!

بيان الافراج تم نشر هذه المقالة على: https://dev.to/zain725342/the-bug-in-javascript-58il?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3