☕ NEW! 完成新手任務即可參加抽獎!LINE 星巴克禮券等你拿,名額有限!        🎉 推廣活動:邀請好友註冊 DevLearn,累積推薦抽 LINE 星巴克禮券! 活動詳情 →        🔥 活動期間 2026/4/1 - 5/31 |已有 0 人參加       
javascript 初學

運算子與流程控制

算術運算子

let a = 10, b = 3;

console.log(a + b);    // ← 13(加)
console.log(a - b);    // ← 7(減)
console.log(a * b);    // ← 30(乘)
console.log(a / b);    // ← 3.3333...(除)
console.log(a % b);    // ← 1(取餘數:10 ÷ 3 = 3 餘 1)
console.log(a ** b);   // ← 1000(次方:10³)

// 遞增 / 遞減
let x = 5;
x++;                   // ← x 變成 6(等同 x = x + 1)
x--;                   // ← x 變回 5

比較運算子

console.log(5 == "5");    // ← true(寬鬆比較,會轉型)
console.log(5 === "5");   // ← false(嚴格比較,型態不同)
console.log(5 !== "5");   // ← true(嚴格不等於)

console.log(5 > 3);      // ← true
console.log(5 >= 5);     // ← true
console.log(5 < 3);      // ← false

邏輯運算子

// && AND — 兩個都 true 才 true
console.log(true && true);    // true
console.log(true && false);   // false

// || OR — 其中一個 true 就 true
console.log(false || true);   // true
console.log(false || false);  // false

// ! NOT — 反轉
console.log(!true);           // false
console.log(!0);              // true(0 是 falsy)

// 短路求值
let user = null;
let name = user && user.name;     // ← user 是 null → 直接回傳 null,不會報錯
let fallback = name || "訪客";    // ← name 是 falsy → 回傳 "訪客"

// ?? 空值合併(ES2020)
let value = null ?? "預設值";     // ← "預設值"(只在 null/undefined 時觸發)
let zero = 0 ?? "預設值";         // ← 0(0 不是 null/undefined)
// 對比 ||:
let zeroOr = 0 || "預設值";       // ← "預設值"(因為 0 是 falsy)

if / else

let score = 85;

if (score >= 90) {                // ← 條件 1
    console.log("優秀");
} else if (score >= 60) {         // ← 條件 2
    console.log("及格");
} else {                          // ← 以上都不符
    console.log("不及格");
}

// 三元運算子(簡化的 if-else)
let result = score >= 60 ? "及格" : "不及格";
// 等同於 if (score >= 60) result = "及格"; else result = "不及格";

switch

let day = "Monday";

switch (day) {
    case "Monday":
    case "Tuesday":
    case "Wednesday":
    case "Thursday":
    case "Friday":
        console.log("工作日");
        break;                    // ← break 跳出,不加會繼續往下執行
    case "Saturday":
    case "Sunday":
        console.log("週末");
        break;
    default:
        console.log("未知");
}

for 迴圈

// 基本 for
for (let i = 0; i < 5; i++) {    // ← i 從 0 到 4
    console.log(i);               // 輸出:0, 1, 2, 3, 4
}

// for...of(遍歷值)— 用於陣列
let fruits = ["蘋果", "香蕉", "橘子"];
for (let fruit of fruits) {       // ← fruit 是每個元素的值
    console.log(fruit);           // 蘋果, 香蕉, 橘子
}

// for...in(遍歷鍵)— 用於物件
let person = { name: "小明", age: 20 };
for (let key in person) {         // ← key 是屬性名稱
    console.log(`${key}: ${person[key]}`);
    // name: 小明, age: 20
}

while 迴圈

// while — 條件成立就執行
let count = 0;
while (count < 3) {               // ← 先檢查條件
    console.log(count);           // 0, 1, 2
    count++;
}

// do...while — 至少執行一次
let num = 10;
do {
    console.log(num);             // 10(至少執行一次)
    num++;
} while (num < 3);               // ← 條件不符,但已經執行過了

break 和 continue

// break — 跳出迴圈
for (let i = 0; i < 10; i++) {
    if (i === 5) break;           // ← i 到 5 就停
    console.log(i);               // 0, 1, 2, 3, 4
}

// continue — 跳過本次,繼續下一次
for (let i = 0; i < 5; i++) {
    if (i === 2) continue;        // ← 跳過 i=2
    console.log(i);               // 0, 1, 3, 4
}

💡 大家的想法 · 0

載入中...
💬 即時聊天室 🟢 0 人在線
😀 😎 🤓 💻 🎮 🎸 🔥
➕ 新問題
📋 我的工單
💬 LINE 社群
🔒
需要註冊才能使用此功能
註冊帳號即可解鎖測驗、遊戲、簽到、筆記下載等所有功能,完全免費!
免費註冊