⏱️ ~10 นาที
การตัดสินใจด้วย if/else
ทำให้โปรแกรมเลือกทางเดินตามเงื่อนไข
ทำไมต้องมีเงื่อนไข?
โปรแกรมที่ "ฉลาด" ต้อง ตัดสินใจ ได้:
- ถ้าฝนตก → เอาร่ม
- ถ้าอายุ < 18 → ห้ามเข้า
- ถะ password ถูก → เข้าสู่ระบบ
นี่คือหน้าที่ของ if / else
คำสั่ง if พื้นฐาน
let age = 20;
if (age >= 18) {
console.log("เข้างานได้");
}
if+ เงื่อนไขใน( )- ถ้าเงื่อนไขเป็น จริง → โค้ดใน
{ }ทำงาน - ถ้า เท็จ → ข้ามไป
เพิ่ม else (กรณีไม่ใช่)
let age = 15;
if (age >= 18) {
console.log("เข้างานได้");
} else {
console.log("กลับบ้านไป");
}
ผลลัพธ์: กลับบ้านไป (เพราะ 15 < 18)
เงื่อนไขหลายกรณี: else if
let score = 75;
if (score >= 80) {
console.log("เกรด 4");
} else if (score >= 70) {
console.log("เกรด 3");
} else if (score >= 60) {
console.log("เกรด 2");
} else {
console.log("ไม่ผ่าน");
}
⚠️ เงื่อนไขจะถูกตรวจ จากบนลงล่าง พอเจอข้อที่เป็นจริง จะทำและ หยุด ดังนั้นวางลำดับให้ถูก (จากเข้มไปหละหรือมากไปน้อย)
การซ้อนเงื่อนไข (Nested if)
let hasTicket = true;
let age = 20;
if (hasTicket) {
if (age >= 18) {
console.log("เข้าชมได้");
} else {
console.log("ต้องมีผู้ปกครอง");
}
} else {
console.log("ซื้อตั๋วก่อน");
}
เปรียบเทียบหลายค่าด้วย && และ ||
let age = 25;
let hasID = true;
// ต้องผ่านทั้งคู่
if (age >= 18 && hasID) {
console.log("ผ่าน");
}
// ผ่านอย่างใดอย่างหนึ่ง
let isVip = false;
if (isVip || hasID) {
console.log("เข้าได้");
}
Ternary Operator (if แบบย่อ)
เมื่อเงื่อนไขง่าย ๆ ใช้รูปแบบ:
เงื่อนไข ? ค่าถ้าจริง : ค่าถ้าเท็จ
let age = 20;
let status = age >= 18 ? "ผู้ใหญ่" : "เด็ก";
console.log(status); // ผู้ใหญ่
💡 เหมาะกับการกำหนดค่าแบบสั้น ๆ — ถ้าซับซ้อนใช้ if/else ปกติอ่านง่ายกว่า
เปรียบเทียบค่าเท่ากันหลายตัว: switch
let day = "จันทร์";
switch (day) {
case "จันทร์":
console.log("เริ่มต้นสัปดาห์");
break;
case "ศุกร์":
console.log("สู้ต่อไป!");
break;
default:
console.log("วันธรรมดา");
}
breakสำคัญ — ไม่งั้นจะทำต่อใน case ถัดไปdefault= กรณีไม่ตรงอันไหนเลย
ค่าที่ถือเป็น "เท็จ" (Falsy)
ในเงื่อนไข JS ถือค่าเหล่านี้เป็น เท็จ:
false0,-0,0n""(ข้อความว่าง)null,undefinedNaN
ค่าอื่น ๆ ทั้งหมดเป็น จริง (truthy)
let name = "";
if (name) {
console.log("มีชื่อ");
} else {
console.log("ไม่มีชื่อ"); // ทำบรรทัดนี้ เพราะ "" เป็น falsy
}
ลองทำจริง: เครื่องคิดเกรด
function checkGrade(score) {
if (score >= 80) return "A";
if (score >= 70) return "B";
if (score >= 60) return "C";
if (score >= 50) return "D";
return "F";
}
console.log(checkGrade(85)); // A
console.log(checkGrade(55)); // D
สรุป
| รูปแบบ | ใช้เมื่อ |
|---|---|
if | มีเงื่อนไขเดียว |
if / else | สองทาง |
else if | หลายทาง |
?: (ternary) | เลือกค่าแบบสั้น |
switch | เทียบค่าเดียวหลายกรณี |
บทหน้า: ทำให้โปรแกรม ทำซ้ำ ด้วยลูป 🔄
อ่านจบแล้ว? ทำเครื่องหมายว่าเสร็จเพื่อบันทึกความคืบหน้า
🧠
แบบทดสอบ
ตอบให้ครบแล้วกด “ตรวจคำตอบ” เพื่อเช็คความเข้าใจ
1. คำสั่งใดใช้ตรวจสอบเงื่อนไขใน JavaScript?
2. ถ้าต้องการเลือกเส้นทางหลายทาง ควรใช้อะไร?
3. โครงสร้าง condition ? a : b คืออะไร?
กำลังโหลด…