คำสั่ง if...else เป็นโครงสร้างควบคุมพื้นฐานที่ให้ JavaScript รันโค้ดต่างกันตามเงื่อนไข หากเงื่อนไขเป็น true รันบล็อก if มิฉะนั้นรันบล็อก else
ไวยากรณ์
if (condition) {
// รันเมื่อ condition เป็น true
} else {
// รันเมื่อ condition เป็น false
}
ตัวอย่างโค้ด
<html>
<body>
<script>
var age = 10;
if (age > 18) {
document.write("Eligible to vote!");
} else {
document.write("<b>Not eligible to vote!</b>");
}
</script>
</body>
</html>
ค่าที่ถือว่า True/False (Truthy/Falsy)
JavaScript แปลง condition ให้เป็น Boolean อัตโนมัติ:
| Falsy Values (เป็น false) | Truthy Values (เป็น true) |
|---|---|
false | ตัวเลขไม่เป็น 0 (1, -1, 3.14) |
0, -0, 0n | สตริงไม่ว่าง ("hello", "0", "false") |
"" (empty string) | Object/Array ทุกตัว (แม้ว่าง [] {}) |
null | true |
undefined | Function |
NaN |
รูปแบบย่อ: Ternary Operator
// แทน if-else บรรทัดเดียว var status = (age >= 18) ? "Adult" : "Minor"; // ใช้ใน JSX/Template return isLoggedIn ? <Dashboard /> : <Login />;
If อย่างเดียว (ไม่มี else)
if (user.isAdmin) {
showAdminPanel();
}
// ถ้า false ไม่ทำอะไรเลย
แนวทางปฏิบัติที่ดี
- ใช้ Block statement { } เสมอ แม้คำสั่งเดียว (ป้องกันบั๊ก)
- ใช้
===แทน== - หลีกเลี่ยงการซ้อนลึก (Deep nesting) - ใช้ Early Return แทน
- ชื่อตัวแปรเงื่อนไขควรเป็น Boolean:
isValid,hasPermission,canEdit
Early Return Pattern (แนะนำ)
// แทนการซ้อน if-else
function process(user) {
if (!user) return;
if (!user.isActive) return;
if (!user.hasPermission) return;
// โค้ดหลักอยู่ระดับซ้ายสุด อ่านง่าย
doSomething(user);
}