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

متى || هل يعمل المشغل كمشغل افتراضي في JavaScript؟

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

When Does the || Operator Act as a Default Operator in JavaScript?

فهم الغرض من || عامل مع معاملات غير منطقية في جافا سكريبت

في جافا سكريبت، || عادةً ما يُستخدم عامل التشغيل، والذي يُشار إليه عادةً باسم عامل التشغيل المنطقي OR، لتقييم التعبيرات المنطقية. ومع ذلك، قد تواجه حالات حيث يكون || يتم استخدام عامل التشغيل مع قيم غير منطقية.

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

فكر في المثال التالي من مكتبة JS كبيرة تنفذ عمليات الرسم في اللوحة القماشية:

var $time = Date.now || function() {
  return  new Date;
};

في هذا المثال، || يتم استخدام عامل التشغيل لتعيين قيمة لمتغير الوقت $. إذا كان الأسلوب Date.now موجودًا في كائن Date، فسيتم تعيينه للمتغير $time. بخلاف ذلك، يتم تعيين وظيفة مجهولة تُرجع الوقت الحالي بدلاً من ذلك.

يكمن مفتاح فهم هذا السلوك في فهم أن عامل التشغيل OR يُرجع أول قيمة صحيحة أو آخر قيمة خاطئة في معاملاته. في هذه الحالة، يعد أسلوب Date.now قيمة صحيحة (على افتراض وجوده)، لذا يتم إرجاعه. إذا لم يكن Date.now موجودًا، تصبح الدالة المجهولة هي القيمة الحقيقية ويتم إرجاعها.

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

var user = user || { name: "Unknown User" };

من خلال فهم || سلوك المشغل مع المعاملات غير المنطقية، يمكنك تسخير وظائفه لتوفير تعيينات قيمة ديناميكية ومتعددة الاستخدامات في كود JavaScript الخاص بك.

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

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

Copyright© 2022 湘ICP备2022001581号-3