一定要用 TypeScript 嗎?
過去其實出過不少 JavaScript 的超集,包含 Coffee Script 、Flow ⋯⋯等等。近年真的是 TypeScript 獨霸市場,幾乎快要成為前端一致認可的標準,成熟的 Library 幾乎會與 TypeScript 綁在一起。
然而,我也依然會聽到這樣的聲音:
- TypeScript 的開發成本過高,不適合快節奏的公司導入。
- TypeScript 編譯需要比較多的時間,對 CI/CD 很沒效率。
- 公司專案很老舊,不適合再導入。
這些問題我「認同」,但也覺得不是問題:
- 覺得定義型別成本高,可以寫 Any。
- 覺得編譯成本高,其實可以做部分預編譯。
- 公司專案還在 JavaScript 可以用 JSDoc 漸進導入。
但必須說,沒有使用 TypeScript 時,稍微大一點的專案真的很痛苦。
- 可能一不小心就操作到 undefined 。
- 無意識會做大量動態操作。
- 當參數穿越多個元件,難以預期是什麼東西。
- 沒有文件時,理解難度上升。
- AI 工具更難預期上下文。
曾經有一位大神這麼說過:「當你團隊超過三人協作,而且是長期維護的產品,卻不打算導入 TypeScript ,這是對你的專案不重視」
這話是比較過激,但某種意義上卻代表著