التعليقات

JavaScript Ternary Operator كاختصار لـ If / Else العبارات

JavaScript Ternary Operator كاختصار لـ If / Else العبارات

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

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

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

المشغل الثلاثي يقصر هذا إذا / آخر بيان في بيان واحد:

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

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

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

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

مثال المشغل الثلاثي

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

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

فار العمر = 7 ؛
فار رياض الأطفال 

إذا (العمر> 5) {
kindergarten_el qual = "قديم بما فيه الكفاية" ؛
}
آخر
kindergarten_elibility = "صغير جدًا" ؛
}

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

var kindergarten_el qual = (العمر <5)؟ "صغير جدًا": "قديم بما فيه الكفاية" ؛

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

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

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

فار العمر = 7 ، فار اجتماعيا = صحيح ؛
var kindergarten_el qual = (العمر <5)؟ "صغير جدًا": اجتماعيًا
"قديم بما فيه الكفاية ولكن ليس جاهزًا بعد" "قديم وناضج اجتماعيًا بما فيه الكفاية"
console.log (رياض الأطفال) // سجلات "قديم وناضج اجتماعيا بما فيه الكفاية"

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

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

var age = 7، socially_ready = true؛

العمر> 5؟ (
تنبيه ("أنت قديم بما فيه الكفاية.") ،
location.assign ( "continue.html")
) : (
اجتماعيا = جاهل ،
في حالة تأهب ("عذرا ، لكنك لم تستعد بعد.")
);

الآثار المترتبة على المشغل الثلاثي

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

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

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


شاهد الفيديو: شرح الجملة الشرطية IF ELSE في الجافا (أغسطس 2021).