Ternary Operator คืออะไร?
ออเปอเรเตอร์ 3 ตัว (Ternary) คือทางเลือกแทน if...else สำหรับเงื่อนไข True/False ไวยากรณ์:
condition ? valueIfTrue : valueIfFalse;
เปรียบเทียบ If-Else กับ Ternary
If-Else (5 บรรทัด)
let user_is_right_age;
if (customer.age >= 18) {
user_is_right_age = true;
} else {
user_is_right_age = false;
}
Ternary (1 บรรทัด)
let user_is_right_age = customer.age >= 18 ? true : false;
ตัวอย่างการใช้งานจริง
คำนวณค่าจัดส่งตามประเภทลูกค้า
let userIsExpressCustomer = true; let shippingTime = userIsExpressCustomer ? 48 : 72; // 48 ชั่วโมง
Nested Ternary (หลายเงื่อนไข)
let userIsExpress = false; let userIs24Hour = true; let shippingTime = userIsExpress ? 48 : userIs24Hour ? 24 : 72; // ผลลัพธ์: 24
⚠️ Nested Ternary อ่านยาก ควรใช้ If-Else หรือ Switch Case แทนถ้าซับซ้อนเกินไป
สรุป
Ternary Operator เขียนสั้น กระชับ เหมาะกับเงื่อนไข True/False อย่างเดียว แต่ไม่ควรใช้ซ้อนกันมากเกินไป เพราะจะทำให้โค้ดอ่านยาก