實驗 / 010
TypeScript / 輸出邊界對照
型別斷言與物件驗證各會漏掉哪些無效輸入?
實驗結果
01 / 問題
方法
32組合成輸入經斷言、物件、原始JSON與既有Java四種入口;另離線重放一份歷史真實回應。
結果
斷言誤接收22個、物件驗證誤接收4個;原始JSON與Java判定32/32一致。
觀察
重複鍵於JSON.parse後消失,物件入口亦無法驗證原始長度。歷史圍欄回應嚴格拒絕,明確適配後通過。
結論
靜態型別不取代執行期契約;結構正確不等於分類語義正確。
限制
刻意構造的邊界,不是模型錯誤率;扁平契約,非通用JSON解析器。無新增API呼叫。
重現
型別檢查、37項測試與32組差分稽核通過;Node26.8.2、TypeScript7.0.2、Java1.8.0_171。
繼續探索
繼續探索
- 工程案例
TypeScript 能保證模型輸出正確嗎?32組輸入與 Java 驗證器的邊界對照
從型別斷言、unknown到原始JSON:重現22個誤接收、4個物件驗證盲區,以及Java/TypeScript契約一致性的實際邊界。