【TypeScript】TypeScriptの型チェックの心強い味方「Zod」とは何か?

こんにちは。

野中やすおです。

今回の記事では、今日のTypeScript開発にはもはや必須となってきた?Zodについて解説しています。私が今いる現場のフロント開発においてもZodが使われています。

Zodとは何か?

Zodは公式サイトで以下のように述べられています。

Zod is a TypeScript-first schema declaration and validation library.

GitHub

TypeScript-first schema validation with static type inferenc…

Zodは、TypeScript用のバリデーションおよびパーシングライブラリであり、オブジェクトを検証し、安全にパースするための方法を提供しています。

そして特にZodライブラリは、次のような特徴を持っています。

  1. 型安全の確保:Zodスキーマは、入力オブジェクトをバリデートするだけでなく、その形状に対応するTypeScriptの型を導出します。これにより、TypeScriptの全ての型安全性の利点を確保します。
  2. 柔軟性:Zodは細かい制御を可能にし、カスタムのバリデーションロジックを簡単に追加できます。
  3. エラーハンドリング:Zodは失敗したバリデーションに対して詳細なエラーメッセージを提供します。

Zodのインストール方法

Zodはインストール方法として、以下のそれぞれのパッケージに対応しています。

GitHub

TypeScript-first schema validation with static type inferenc…

Zodの使い方

Zodは例えば「user.ts」ファイルのように作成して、以下のように作成します。

まずは、import { z } from ‘zod’;で、 zをimportします。

慣例的に変数にSchemaを付加するようです。

上記の例では、UserSchemaを通過するオブジェクトは必ず特定の形状にする、つまり、nameはstringemailは有効なメールアドレスでstringageは0以上のnumber)を持つことが保証されています。

またexportすることで以下のようなuserの状態を定義するuseUserStoreというstoreでのインターフェースで型定義をすることができます。

以上、Zodなんぞやについて記事を書きました。TypeScriptを使うアプリでは、これからますますvalidatorとしてZodを採用するケースが増えていくと思います。よりよりTSライフのために積極的に活用していきましょう!