本章為 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.jsconsole.log("勇者 辛梅爾", 100); // 💡 可以用逗號一次印出多個數據console.table()(數據陳列架):當你拿到一整串複雜的物件陣列(如公會成員名冊)時,用它能直接轉化為漂亮的表格!index.jsconst party = [{ name: "辛梅爾", job: "勇者" }, { name: "芙莉蓮", job: "魔法使" }];console.table(party); // 📊 自動生成表格,欄位一目了然console.dir()(結構剖析器):當你想要深度剖析一個 DOM 元素或物件的內部屬性與原型鏈時使用。
⚔️ 【戰術對抗:學長與學弟的代碼對決】
招式示範:看見真相的工具選擇
展示「冒險學弟 (新手)」與「勇者學長 (高級職人)」的視角落差。
❌ 冒險學弟:遠古警報器 alert()
- 負能量評級:🔴 阻斷施法流程 / 🔴 無法顯示複雜數據
// 學弟心聲:我... 我打算先用這個看看數據有沒有變。
alert("偵測到法力流動..."); // 啪!整個頁面強制卡死,直到你手動按確定。
✅ 勇者學長:專業感測器 console.log()
- 利潤評級:🟢 施法流暢不中斷 / 🟢 詳盡記錄戰地細節
// 學長叮嚀:孩子,高手從不隨便遮住自已的視線。
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():最萬用的觀測咒語。記住,你可以用逗號分隔印出多個數據。
- 顏色辨識:在控制台中,藍色通常代表數字,黑色/灰色通常代表純文字。學會看顏色,能幫你快速分辨型別。
🎯 【實戰演武場】
⚔️ 任務鑑定條件:
- 完成 📜 本日實戰任務 (CodePen)。
- 將 CodePen 網址貼至 QuestBoard,並回填鑑定報告:
- 初心者:公會入隊鑑定 (成就感發掘):今天第一次成功在「控制台」看到你輸入的名字時,有沒有一種「代碼終於開口說話」的感覺?
- 冒險者:洞察顏色辨析 (理性挑戰):當我執行
console.log(100+200)與console.log("100+200")時,呈現出來的顏色有什麼不同?
- 任務完成後,你的名字將永遠標記在公會的英雄榜上!
📚 【圖書館卷軸與前後站連結】
- ⬅️ 前導冒險: Day 00 賽前宣言:勇者冒險的起點
- ➡️ 下一站冒險: Day 02 變數宣告與作用域的生存法則
- MDN 官方文獻: Console 完整方法手冊
- Chrome DevTools 指南: 像專家一樣進行偵錯