🔹 ما هو Ternary Operator؟
هو طريقة مختصرة لكتابة شرط if ... else
في سطر واحد فقط.
الصيغة العامة:
condition ? value_if_true : value_if_false;
JavaScript🔸 condition: الشرط الذي سيتم فحصه
🔸 value_if_true: القيمة أو العملية التي تنفذ إذا تحقق الشرط
🔸 value_if_false: القيمة أو العملية التي تنفذ إذا لم يتحقق الشرط
✅ إذا كان الشرط true → يُنفذ الجزء قبل :
❌ إذا كان الشرط false → يُنفذ الجزء بعد :
✅ مثال 1: تحديد إذا كان الرقم موجبًا أو سالبًا
let number = -5;
let result = number >= 0 ? "موجب" : "سالب";
console.log(result);
JavaScript✅ مثال 2: التحقق من العمر
let age = 20;
let status = age >= 18 ? "بالغ" : "قاصر";
console.log(status);
JavaScript✅ مثال 3: تحقق من كلمة مرور
let password = "123456";
let message = password === "123456" ? "تم تسجيل الدخول" : "كلمة المرور خاطئة";
console.log(message);
JavaScript✅ مثال 4: استخدامه داخل console.log
مباشرة
let loggedIn = false;
console.log(loggedIn ? "أهلًا بك!" : "يرجى تسجيل الدخول");
JavaScript✅ مثال 5: مقارنة علامتين
let math = 90;
let english = 85;
let topSubject = math > english ? "الرياضيات" : "الإنجليزية";
console.log("أفضل مادة هي: " + topSubject);
JavaScript🎯 فوائد Ternary Operator
الفائدة | التوضيح |
---|---|
✅ كتابة مختصرة | يقلل عدد الأسطر مقارنة بـ if/else |
✅ مثالي للحالات البسيطة | مفيد لاتخاذ قرار واحد بسيط |
✅ مناسب داخل HTML أو React | لتحديد العرض بناءً على شرط |
✅ تحسين القراءة | عندما يُستخدم باعتدال وبشكل واضح |
⚠️ متى لا يُفضل استخدامه؟
- عند وجود شروط معقدة أو متداخلة.
- إذا كان يحتوي على أكثر من شرط فرعي (
nested ternary
) مما قد يُسبب صعوبة في القراءة.
✅ مثال توضيحي متقدم: Nested Ternary (تداخل)
let score = 85;
let grade = score >= 90 ? "ممتاز" : score >= 75 ? "جيد جدًا" : "جيد";
console.log(grade);
JavaScript📌 ليس الأفضل من حيث الوضوح، لكنه يعمل.