iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
JavaScript

從 JavaScript 到 TypeScript:30 天建立 AI 時代的型別思維 系列

AI 現在可以快速產生程式碼,但要怎麼和它協作,才能降低出錯的機會?

這個系列會從 JavaScript 出發,一步步認識 TypeScript,含型別推論、聯合型別、泛型,以及如何用型別描述資料與規則。

除了理解 TypeScript 能提早發現哪些問題,也會認識程式執行後才可能出現的錯誤。

最後再延伸到 AI 開發,學習怎麼檢查 AI 回傳的資料,讓 TypeScript 成為我們和 AI 協作時的一道把關。

參賽天數 25 天 | 共 25 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 1

day1|AI 都會寫程式了,為什麼還要學 TypeScript?

這次想分享什麼? 上一屆整理 Angular 時,主要把重點放在框架的使用方式。這次想回到基本功:這些框架寫法,背後有哪些 JavaScript 與 Type...

2026-09-14 ‧ 由 johnson3669 分享
DAY 2

day2|JavaScript 是動態型別,問題到底出在哪裡?

在進入今日主題前,先看一段計算總分的程式: function calculateTotal(score, bonus) { return score + b...

2026-09-15 ‧ 由 johnson3669 分享
DAY 3

day3|Scope 與 Closure:函式如何記住外部狀態?

上一篇討論 JavaScript 的值如何改變型別,以及隱式轉換可能帶來的結果。當程式開始拆成函式和條件區塊後,還得決定資料該放在哪裡。 以 TypeTrail...

2026-09-16 ‧ 由 johnson3669 分享
DAY 4

day4|Prototype、Class 與 this

上一篇從作用域與閉包看到,函式可以讀取並保留外部狀態。當 TypeTrail 開始有多道題目時,還需要把每道題目的資料和操作整理在一起:題目文字各自不同,顯示題...

2026-09-17 ‧ 由 johnson3669 分享
DAY 5

day5|Promise、async/await 與事件迴圈

載入題目時,程式要等待資料,也要繼續回應畫面。程式碼雖然由上往下寫,實際執行順序卻不一定相同。要判斷資料何時可用、錯誤何時發生,就要理解 Promise、asy...

2026-09-18 ‧ 由 johnson3669 分享
DAY 6

day6|ES Module:現代 JavaScript 專案的邊界

當單一檔案開始變長,通常會把題目與判分邏輯拆成不同檔案。先看看以下的範例: // question.js const question = { prompt:...

2026-09-19 ‧ 由 johnson3669 分享
DAY 7

day7|從 JavaScript 到 TypeScript:編譯時與執行時

寫 JavaScript 時,函式收到不合預期的值,常要等程式執行才發現。以下函式就有這個風險:它會用 trim() 去掉答案前後的空白,呼叫端卻可能傳入數字。...

2026-09-20 ‧ 由 johnson3669 分享
DAY 8

day8|型別推論:讓 TypeScript 自己理解程式

Day 7 看過 TypeScript 如何在執行前檢查型別。若每個變數都手動標上型別,很快就會出現重複資訊。TypeScript 能從已寫出的值推導多少?哪些...

2026-09-21 ‧ 由 johnson3669 分享
DAY 9

day9|物件型別:從資料結構開始建模

函式有時要一次接收好幾個相關的值。拿選擇題資料來說,題目編號、文字和選項經常一起傳遞。若拆成多個參數,呼叫時容易搞混順序;編號和文字又同樣是字串,放反了也可能通...

2026-09-22 ‧ 由 johnson3669 分享
DAY 10

day10|字面值與聯集:用型別表達業務規則

前一篇用物件型別整理資料有哪些欄位,以及各欄位接受的型別。有些文字欄位只接受幾個固定值;如果寫成一般的 string,其他字串也會通過檢查。字面值型別與聯集能把...

2026-09-23 ‧ 由 johnson3669 分享