跳至主要内容

本章為 JavaScript 核心重構的第一天,我們將從最基礎卻最關鍵的「控制台 (Console)」開始。許多人在撰寫程式時,就像在黑暗中盲目揮劍,無法觀察資料在幕後的流動細節。本篇將帶領冒險者熟悉 DevTools 開發者工具,探討 console.log()console.table()console.dir() 等觀測語法的底層運作與適用情境,並解析為何在高階開發中應避免阻斷性的 alert(),建立正確的除錯思維與理性視角。

Day 01: 看見世界的儀式:控制台與冒險者的第一眼

本文同步分享於2026鐵人賽:JS 核心重構:勇者轉職傳說


📜 這裡的修煉規則

孩子,在踏上今日的領地前,先坐下來喝杯酒吧。 修煉的路很長,別急著奔跑,先聽聽這份卷軸裡的古老叮嚀。

我在每一站的盡頭都為你鋪設了 實戰演武場 CodePen。那不只是程式碼的拼湊,而是你在這場暴風雨中,試圖用邏輯點燃的一顆星火。 成功突圍後,別忘了帶著你的戰利品回到 QuestBoard 佈告欄。在那裡,你會發現自己從不孤單,公會的夥伴們都正舉杯等待你的歸來。

記住...

導師看重的從來不是你的劍法有多華麗,而是當你被邏輯擊潰、滿身泥濘後,依然選擇握緊理性的劍柄,再次向真相發起衝鋒的勇氣。


🛡️ 【公會大廳:導師的修煉導讀】

既然來了公會,我們先來做個測試。

我手邊這有一份古老的咒語(程式碼),但我唸完了,現場卻什麼也沒發生。你有看見空中出現火球嗎?有看見地板裂開嗎?都沒有。

孩子們,這就是最開始的困境:「你對著空氣揮舞魔杖,卻不知道法力到底有沒有在流動。」

在學會殺敵的劍術之前,你得先學會如何擁有 「看見真相的眼睛」。在我們的領域中,這雙眼就叫做 控制台 (Console)。今天,我們要在這裡完成報到,並學會如何透過這個視窗,讓潛藏在暗處的邏輯開口說話。


💡 【導師講義:底層真相探究】

1. 什麼是「看見真相的眼睛」?

程式碼在瀏覽器執行的過程,就像是在暗室裡運轉一部複雜的齒輪機器。如果蓋子封死,機器停止時你完全不知道是哪一顆齒輪卡住。

DevTools(開發者工具) 就是那個幫你打開機器蓋子的手電筒。

  • 按下快捷鍵開啟它F12 或在頁面右鍵選擇「檢查 (Inspect)」(Mac 使用者請按 Cmd + Option + I)。
  • 切換至 Console 標籤頁:這裡就是你的訊號接收中心。

2. 觀測三大咒語 (log, table, dir)

我們不只用一種方式看數據,不同的物質需要不同的檢測工具:

  • console.log() (基礎探照燈):最常用的印出工具,把變數或字串直接投射在控制台上。
    index.js
    console.log("勇者 辛梅爾", 100); // 💡 可以用逗號一次印出多個數據
  • console.table() (數據陳列架):當你拿到一整串複雜的物件陣列(如公會成員名冊)時,用它能直接轉化為漂亮的表格!
    index.js
    const party = [{ name: "辛梅爾", job: "勇者" }, { name: "芙莉蓮", job: "魔法使" }];
    console.table(party); // 📊 自動生成表格,欄位一目了然
  • console.dir() (結構剖析器):當你想要深度剖析一個 DOM 元素或物件的內部屬性與原型鏈時使用。

⚔️ 【戰術對抗:學長與學弟的代碼對決】

招式示範:看見真相的工具選擇

展示「冒險學弟 (新手)」與「勇者學長 (高級職人)」的視角落差。

❌ 冒險學弟:遠古警報器 alert()

  • 負能量評級:🔴 阻斷施法流程 / 🔴 無法顯示複雜數據
index.js
// 學弟心聲:我... 我打算先用這個看看數據有沒有變。
alert("偵測到法力流動..."); // 啪!整個頁面強制卡死,直到你手動按確定。

✅ 勇者學長:專業感測器 console.log()

  • 利潤評級:🟢 施法流暢不中斷 / 🟢 詳盡記錄戰地細節
index.js
// 學長叮嚀:孩子,高手從不隨便遮住自已的視線。
console.log("偵測點 A:一切正常"); // 數據靜靜待在控制台,不干擾你繼續揮劍。
💡 導師講評

你看,學長跟學弟的差距,往往就在於這 0.1 秒的「視線阻斷」。學會使用 DevTools(開發者工具),是你從魯莽的新手成長為冷靜職業勇者的第一步。


🏰 【勇者精英課:邁向職人的進階架構】

在未來的大型戰場中,我們不會只用 log。我們會學習 「日誌級別 (Log Levels)」。例如:console.warn() 用來警告潛在的危機,console.error() 則用來發布毀滅性的災難。掌握這些等級的辨析,是你處理大規模戰役 (Production) 資料流時,能迅速從萬千訊息中定位裂痕的關鍵。


🛖 營火叮嚀:導師的經驗談

孩子,導師回憶當年剛學會 JavaScript 時,連 F12(開發者工具)在哪裡都不知道。那時候我自以為很聰明,滿腦子只想寫出最帥的特效,卻從來不願意停下來 log 一下底層數據。

結果呢?我寫了一萬行的代碼,跑出來全是 undefined,我卻不知道是哪一段出了錯。那種在黑暗中盲目揮劍、拼命重整頁面卻找不到 BUG 的無力感,是我這輩子都不想再經歷第二次的挫敗。

從那天起我發誓:『看不見真相,我絕不動手寫下任何一行邏輯。』


天色微亮,營火雖已燃盡,但你眼中卻閃爍著領悟的光芒。在前往演武場挑戰關卡前,我已經幫你把靈魂碎片精煉成了這份「戰術錦囊」。拿好它,今日的任務不再是負擔,而是你證明自我的舞台。去吧,公會的英雄榜在等著你的戰報。

📝 【夥伴筆記:今日修煉精華】

這份筆記是你的隨身護身符,卡關時看一眼,真相就在裡面。

  • 洞察之眼 (DevTools):這是你的眼睛,戰鬥前請務必按下 F12 (或 Mac: Cmd+Opt+I) 開啟它。
  • console.log():最萬用的觀測咒語。記住,你可以用逗號分隔印出多個數據。
  • 顏色辨識:在控制台中,藍色通常代表數字,黑色/灰色通常代表純文字。學會看顏色,能幫你快速分辨型別。

🎯 【實戰演武場】

⚔️ 任務鑑定條件:

  1. 完成 📜 本日實戰任務 (CodePen)
  2. 將 CodePen 網址貼至 QuestBoard,並回填鑑定報告:
    • 初心者:公會入隊鑑定 (成就感發掘):今天第一次成功在「控制台」看到你輸入的名字時,有沒有一種「代碼終於開口說話」的感覺?
    • 冒險者:洞察顏色辨析 (理性挑戰):當我執行 console.log(100+200)console.log("100+200") 時,呈現出來的顏色有什麼不同?
  3. 任務完成後,你的名字將永遠標記在公會的英雄榜上!

📚 【圖書館卷軸與前後站連結】