عامل تشغيل JavaScript Ternary كاختصار لعبارات If / Else

click fraud protection

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

عامل الثلاثية هو بديل عن إذا بيان فيه كلا من إذا و آخر تحدد البنود قيمًا مختلفة لنفس الحقل ، كما يلي:

إذا (الشرط)
النتيجة = "شيء" ؛
آخر
النتيجة = "شيء ما" ؛

يقوم عامل التشغيل الثلاثي بتقصير عبارة if / else في عبارة واحدة:

النتيجة = (الشرط)؟ "شيء": "شيء ما" ؛ 

إذا شرط صحيح ، فإن العامل الثلاثي يعيد قيمة التعبير الأول ؛ وإلا ، فإنها تُرجع قيمة التعبير الثاني. دعونا ننظر في أجزائه:

  • أولاً ، قم بإنشاء المتغير الذي تريد تعيين قيمة له ، في هذه الحالة ، نتيجة. المتغير نتيجة سيكون لها قيمة مختلفة حسب الحالة.
  • لاحظ أنه على الجانب الأيمن (أي عامل التشغيل نفسه) ، فإن شرط هو أولا.
  • ال شرط يتبعها دائمًا علامة استفهام (?) ، والتي يمكن قراءتها على أنها "هل هذا صحيح؟"
  • تأتي النتيجتان المحتملتان أخيرًا ، مفصولة بنقطتين (:).

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

instagram viewer

مثال عامل التشغيل الثلاثي

دعونا نلقي نظرة على مثال حقيقي.

ربما تحتاج إلى تحديد الأطفال الذين هم في السن المناسب لحضور رياض الأطفال. قد يكون لديك بيان شرطي مثل هذا:

فار العمر = 7 ؛
var kindergarten_eligible؛
إذا (العمر> 5) {
kindergarten_eligible = "قديمة بما يكفي" ؛
}
آخر {
kindergarten_eligible = "Too young"؛
}

باستخدام العامل الثلاثي ، يمكنك تقصير التعبير إلى:

var kindergarten_eligible = (age <5)؟ "صغير جدًا": "كبير بما يكفي" ؛

سيعيد هذا المثال ، بالطبع ، كلمة "قديم بما يكفي".

تقييمات متعددة

يمكنك تضمين تقييمات متعددة أيضًا:

var age = 7، var socially_ready = true؛
var kindergarten_eligible = (age <5)؟ "صغير جدًا": اجتماعيًا بالفعل
"قديم بما يكفي ولكنه غير جاهز بعد" "قديم وناضج اجتماعيًا بما فيه الكفاية"
console.log (kindergarten_eligible) ؛ // logs "قديم وناضج اجتماعيًا بما فيه الكفاية"

عمليات متعددة

يتيح عامل التشغيل الثلاثي أيضًا تضمين عمليات متعددة لكل تعبير ، مفصولة بفاصلة:

var age = 7، socially_ready = true؛
العمر> 5؟ (
تنبيه ("أنت كبير بما يكفي.") ،
location.assign ("Continue.html")
): (
socially_ready = false ،
تنبيه ("عذرًا ، لكنك لست جاهزًا بعد.")
);

آثار عامل الثلاثي

يتجنب العاملون الثلاثيون الإسهاب الشفرة، لذلك من ناحية ، تبدو مرغوبة. من ناحية أخرى ، يمكنهم اختراق قابلية القراءة - من الواضح أن "IF ELSE" أكثر سهولة في الفهم من الشفرة "؟".

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

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

instagram story viewer