型安全、どうやって保証してる? みなさんは普段どのように型の安全性を保証していますか? TypeScriptを使っている方なら、型定義や型注釈、型推論で「型安全」を意識しているはずです。 しかし、実際のアプリケーション開発では「本当に型安全か?」と問われると、少し不安になることも多いのではないでしょうか。 Zodのスキーマ定義・型生成・データ検証 TypeScript界隈で人気の型安全ライブラリ「Zod」。 Zodを使えば、スキーマ定義・型生成・データ検証が一気通貫で行えます。 例えば「idは5桁かつ英数字のみ、nameは3文字以上15文字以下の文字列」としてUserSchemaを定義するとき、以下のようにスキーマ定義・型生成・データ検証ができます。 import { z } from "zod"; // スキーマ定義 const UserSchema = z.object({ id: z