session-typestypescriptprotocol-statetype-systems TypeScript 會擋下非法呼叫:在型別系統中編碼protocol狀態 如何運用 phantom types 與 `this` 參數,將非法的protocol轉換變成編譯期錯誤,而非執行期缺陷。 每個 API 用戶端內部都藏著一個state machine。先握手。再驗證。然後傳資料。最後關閉。打破這個順序,你就會得到執行期錯誤、困惑的伺服器,或者更糟——靜默的資料損毀。 大多數團隊用執行期檢查來編碼這些規則。。在某人忘記檢查之前都管用,或者一次 refactor… 2026年8月12日