AI 現在可以快速產生程式碼,但要怎麼和它協作,才能降低出錯的機會?
這個系列會從 JavaScript 出發,一步步認識 TypeScript,含型別推論、聯合型別、泛型,以及如何用型別描述資料與規則。
除了理解 TypeScript 能提早發現哪些問題,也會認識程式執行後才可能出現的錯誤。
最後再延伸到 AI 開發,學習怎麼檢查 AI 回傳的資料,讓 TypeScript 成為我們和 AI 協作時的一道把關。
這次想分享什麼? 上一屆整理 Angular 時,主要把重點放在框架的使用方式。這次想回到基本功:這些框架寫法,背後有哪些 JavaScript 與 Type...
在進入今日主題前,先看一段計算總分的程式: function calculateTotal(score, bonus) { return score + b...
上一篇討論 JavaScript 的值如何改變型別,以及隱式轉換可能帶來的結果。當程式開始拆成函式和條件區塊後,還得決定資料該放在哪裡。 以 TypeTrail...
上一篇從作用域與閉包看到,函式可以讀取並保留外部狀態。當 TypeTrail 開始有多道題目時,還需要把每道題目的資料和操作整理在一起:題目文字各自不同,顯示題...
載入題目時,程式要等待資料,也要繼續回應畫面。程式碼雖然由上往下寫,實際執行順序卻不一定相同。要判斷資料何時可用、錯誤何時發生,就要理解 Promise、asy...
當單一檔案開始變長,通常會把題目與判分邏輯拆成不同檔案。先看看以下的範例: // question.js const question = { prompt:...
寫 JavaScript 時,函式收到不合預期的值,常要等程式執行才發現。以下函式就有這個風險:它會用 trim() 去掉答案前後的空白,呼叫端卻可能傳入數字。...
Day 7 看過 TypeScript 如何在執行前檢查型別。若每個變數都手動標上型別,很快就會出現重複資訊。TypeScript 能從已寫出的值推導多少?哪些...
函式有時要一次接收好幾個相關的值。拿選擇題資料來說,題目編號、文字和選項經常一起傳遞。若拆成多個參數,呼叫時容易搞混順序;編號和文字又同樣是字串,放反了也可能通...
前一篇用物件型別整理資料有哪些欄位,以及各欄位接受的型別。有些文字欄位只接受幾個固定值;如果寫成一般的 string,其他字串也會通過檢查。字面值型別與聯集能把...