【ゾッド】
Zod とは?
最終更新:
💡 受け取ったデータを、決めたルールでチェック
TypeScript向けのスキーマバリデーションライブラリ。実行時の型検証を型安全に記述でき、APIレスポンスやフォーム入力の検証に活躍する。
📌 このページのポイント
- TypeScriptの型注釈だけでは外部データを実行時に検証できない
- スキーマで型や値の条件を定義し、実行時のデータを検証する
- z.inferでスキーマからTypeScriptの出力型を取り出せる
- 検証できるのは定義した条件。認証や権限確認は別に必要
TypeScriptで型を書いてるのに、なんでさらにバリデーションが必要なの?
型注釈はJavaScriptに変換すると取り除かれ、実行時の動作は変えないんだ。APIの返答に型を付けたつもりでも、その値が本当に仕様どおりかを確認したことにはならないよ。
Zodではどう確認するの?
ルールに合わなかったら?
parseは検証に失敗するとZodErrorを投げるよ。safeParseなら成功か失敗かを表す結果が返るので、成功時のデータと失敗時のエラーを分けて扱えるんだ。
TypeScriptの型も別に書くの?
検証に通れば何でも安全?
まとめ:ざっくりこれだけ覚えればOK!
「Zod」って出てきたら「TypeScriptで実行時にもデータの型をチェックしてくれるライブラリ」と思えればだいたいOK!
📖 おまけ:英語の意味
「Zod」 = ライブラリの名前
💬 TypeScriptを重視したスキーマ検証ライブラリの名前だよ。型を推論する機能と、実行時にデータを検証する機能を備えているんだ