Ternary Operator

🔹 ما هو 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

📌 ليس الأفضل من حيث الوضوح، لكنه يعمل.