初級 免費 ⏱ 15:00

03-1 運算子大補帖:從基礎到現代語法

掌握 JavaScript 2026 運算子:算術、比較、邏輯,以及現代必備的 Nullish Coalescing (??) 與 Optional Chaining (?.)。

JavaScriptOperators2026

03-1 運算子大補帖:從基礎到現代語法

👋 **老師的話 (Script)**: "加減乘除大家都會,但在程式裡還有很多神奇符號。 你看過 `??` 嗎?看過 `?.` 嗎? 這些符號不是亂碼,它們是讓你的程式碼變乾淨的魔法。 今天這集,我們要把所有常見符號一次掃盲!"

1. 基礎運算子 (算術與指派)

這裡快速帶過,跟你小學學的一樣。

  • +, -, *, /
  • 取餘數 %: 很有用! 10 % 3 得到 1。常用來判斷奇偶數 ( % 2 )。
  • 指數 **: 2 ** 3 就是 2 的 3 次方 (8)。

指派運算子的縮寫

工程師都很懶。

  • x = x + 1x += 1
  • x = x + 1 (且只要加 1) → x++ (注意:盡量少用 ++ 在複雜算式,易混淆)

2. 比較運算子:千萬別用 ==

JavaScript 有兩個等於:

  • == (寬鬆等於):會偷偷幫你轉型別。 1 == "1"true(危險!2026 禁止使用)
  • === (嚴格等於):型別也要一樣。 1 === "1"false(請永遠用這個)

只要你的 code 出現 ==,Biome (我們的 Linter) 就會罵你。請聽它的話。

3. 現代運算子:讓 Code 變優雅

這兩個是 2020 後最重要的發明:

Optional Chaining (?.) - 安全存取

以前怕物件是空的,要寫一大堆 if

// 舊寫法
if (user && user.address && user.address.city) {
  console.log(user.address.city);
}

現在只要:

// 新寫法
console.log(user?.address?.city);

如果中間斷了(undefined),它就直接回傳 undefined,不會報錯當機!

Nullish Coalescing (??) - 預設值

「如果是空值,就給預設值」。

const name = inputName ?? "Guest";

只有當 inputNamenullundefined 時,才會用 “Guest”。 (以前用 || 會有 bug,例如數值 0 會被當成假,但 ?? 不會!)

4. LAB 01: 運算子體操

🧪 練習 寫一個程式,模擬購物車總金額計算: 1. 商品單價 100,數量 3。 2. 會員有折扣碼嗎?(用 `??` 預設 'NO_CODE') 3. 如果會員物件不存在,怎麼安全讀取名字?(用 `?.`)

🚀 下一節課 邏輯思考是程式的核心。 `And (&&)` 跟 `Or (||)` 其實不只是「且」跟「或」。 它們有強大的「短路求值 (Short Circuit)」特性,高手都拿來代替 `if`。 下一節揭曉!