@ts-ignore 與 @ts-expect-error 的使用時機差異
近期在替專案做大型重構,其中就有將技術轉換為 TypeScript 與 Monorepo,途中一些還沒有頭緒如何解決的型別問題,就會使用 `@ts-ignore` 或 `@ts-expect-error` 來先行忽略,但這兩者的使用時機有所不同,這篇文章就來談談這兩者的差異。
近期在替專案做大型重構,其中就有將技術轉換為 TypeScript 與 Monorepo,途中一些還沒有頭緒如何解決的型別問題,就會使用 `@ts-ignore` 或 `@ts-expect-error` 來先行忽略,但這兩者的使用時機有所不同,這篇文章就來談談這兩者的差異。
近期重寫的專案中有許多狀態需要管理,會需要統一管理資料於專案中,為了避免寫死代碼(Hard Coded)並且讓接手的人都能輕易地瞭解資料型態,這裡記錄一些過程中的發現。結論是應該使用 as const 來達成列舉資料管理,因為它更加直覺沒有什麼認知負擔,並且更加靈活。
JavaScript 有 try...catch 語法用於捕捉程式中的錯誤情境,在需要時使用 throw 語法來拋出「任何錯誤」,通常建議會丟出 JS 預設的錯誤物件,但在 TypeScript 要怎麼做才能確保拋出的錯誤的型別?
Zod 是以 TypeScript 為首的 Schema 聲明和驗證庫,為什麼有了 TypeScript 還需要 Zod?輕易的撰寫 Runtime 資料驗證就是 Zod 的目的,像是驗證三方 API 傳遞的資料、用戶輸入在 URL 中或表單中的資料使用 Zod 來驗證都很方便。