zod
ライブラリの.optional
メソッドについて
zod
はTypeScript向けの堅牢なバリデーションライブラリです。
この記事では、.optional
メソッドとその使用方法について詳しく解説します。
.optional()
とは?
.optional()
メソッドは、特定のキーの値をオプションにするためのメソッドです。
これを使用すると、そのキーは存在しなくても良くなり、存在する場合には指定された型に従っている必要があります。
const userSchema = z.object({ name: z.string(), age: z.number().optional(), });
この例では、name
は必須ですが、age
はオプションです。
.optional()
の利点
.optional()
を使用する主な利点は、データの柔軟性を保ちつつ、その存在時の形式や型を厳密に制限できることです。
例えば、データベースから取得したユーザー情報に、一部のユーザーが持っていないフィールドがある場合などに非常に役立ちます。
.partial()
との違い
.optional()
と.partial()
は似た動作をするように見えることがありますが、彼らの適用範囲が異なります。
.optional()
は特定のキーの値そのものをオプションにします。.partial()
はオブジェクトスキーマ全体に適用され、全てのキーをオプションにします。
まとめ
zod
の.optional
メソッドは、特定のキーの値を任意として扱いたい場合に非常に便利です。
このメソッドを適切に使用することで、データの柔軟性を保ちつつ、その存在時の形式や型を厳密に制限することができます。