在 JavaScript 裡,if
是最基本的條件判斷語句,用來根據條件是否成立來決定要執行哪一段程式。
if (條件) {
// 當條件為 true 時執行這裡的程式
}
條件必須能被轉換成布林值(true / false)。
如果條件成立(true),就會執行大括號 {} 裡的程式;
如果條件不成立(false),則會跳過不執行。
let age = 18;
if (age >= 18) {
console.log("已滿 18 歲,可以投票!");
}
輸出結果
已滿 18 歲,可以投票!
這裡 age >= 18 的結果是 true,因此會執行 console.log(...)。
如果 age 小於 18,則不會輸出任何東西。
let score = 50;
if (score >= 60) {
console.log("及格!");
} else {
console.log("不及格!");
}
輸出結果
不及格!
這裡的 score 是 50,小於 60,條件不成立,所以進入 else 區塊,輸出「不及格!」。
if...else 適合用在 二選一 的情境。
let grade = 85;
if (grade >= 90) {
console.log("等第 A");
} else if (grade >= 80) {
console.log("等第 B");
} else if (grade >= 70) {
console.log("等第 C");
} else {
console.log("等第 D");
}
輸出結果
等第 B
當 grade 大於等於 90,顯示「A」
當 grade 大於等於 80,但小於 90,顯示「B」
當 grade 大於等於 70,但小於 80,顯示「C」
其他情況顯示「D」
因為 grade = 85,符合第二個條件,所以輸出「等第 B」。
這種結構常用於需要 多重條件判斷 的情境。
let number = 15;
if (number > 0) {
if (number % 2 === 0) {
console.log("這是一個正偶數");
} else {
console.log("這是一個正奇數");
}
} else {
console.log("這不是正數");
}
輸出結果
這是一個正奇數
先判斷 number 是否大於 0
若是,再判斷它是偶數還是奇數
否則就直接輸出「這不是正數」
巢狀 if 適合用在 有條件層次 的情況,但要注意可讀性,太多巢狀會讓程式難以維護。
if 判斷裡的條件必須是一個能轉換為 true/false 的表達式。
Falsy 值(會被當成 false):0, "" (空字串), null, undefined, NaN。
除此之外的值都會被當成 true。