請注意《TypeScript 新手指南》這本書並不適合完全沒有 JavaScript 基礎的人學習,詳細適合族群請參閱書內首頁說明。
學習緣由
會想要認真學習 TypeScript 的原因是,公司專案目前混用 JavaScript 和 TypeScript,但未來會以 TypeScript 為主。先前自己嘗試用 TypeScript 改寫時,常常被一堆錯誤卡住而不知所措。
雖然我知道有方便的 AI Code Translator 可以輕鬆轉換,但仍希望自己有能力在不借助第三方工具將 JavaScript 改成 TypeScript,或用 TypeScript 從頭寫一個完整的 React 元件。
也想順道嘗試運用在《大腦喜歡這樣學》中所讀到的學習技巧。
學習目標
用 TypeScript 重寫以前做的小專案 anna-luyufeng/whereintheworld-fe-challenge。
學習計畫
這是請 ChatGPT 依照《TypeScript 新手指南》目錄制定的學習計畫,目前預計將學習筆記放到部落格做記錄。
第一週:簡介及基礎
第一天:認識與安裝 TypeScript
第二天:原始資料型別與任意值
第三天:探索型別推論與聯合型別
第四天:物件型別之介面與陣列型別
第五天:函式型別與型別斷言
第六天:宣告檔案與內建物件
第二週:進階
第一天:型別別名與字串字面量型別
第二天:元組與列舉
第三天:類別與介面
第四天:泛型與宣告合併
第五天:程式碼檢查
第三週:實作
第一天至第五天:將現有專案改寫成 TypeScript
將 anna-luyufeng/whereintheworld-fe-challenge 改用 TypeScript 寫
如果改寫卡關,複習前面學過的觀念
第六天:總結與心得
- 總結學習成果與心得
學習筆記
延伸閱讀
TypeScript 官方文件:TypeScript: Documentation - TypeScript for JavaScript Programmers
React TypeScript Cheatsheets:https://react-typescript-cheatsheet.netlify.app/
Zod.定義和驗證資料類型的 TypeScript 函式庫:colinhacks/zod: TypeScript-first schema validation with static type inference
延伸練習
BigFrontEnd.dev TypeScript 面試練習題:TypeScript Puzzles | BFE.dev
TypeScript 進階型別挑戰題目集:https://github.com/type-challenges/type-challenges(可以安裝 VS Code Extension 來練習,記得關掉 GitHub Copilot!)