2024.11.23
Zodを勉強する
TypeScript
Motivation
- スキーマライブラリにはZod, valibot, yupなどある
- まずは業務で実際に使用しているZodから理解して、そこから横の比較で他のライブラリについて学びたい
Zod
Zod Playground
ZodにはPlaygroundがあり、気軽にZodの挙動を確認できる。ローカルでサンプルプロジェクトを立てる必要がない。
coerce
ある型を別のPrimitive型に強制的に変換したスキーマとして扱いたい時、coerce
を使うことができる。因みに、coerce
は「コアース」や「コワース」などと読むらしい。
例えば、number
型の 12
をstring
型の12
として扱いたい場合、まずは
const schema = z.coerce.string()
というスキーマを定義する。すると
schema.parse(12) // "12"
となる。 こうなるのは裏では String()
が呼ばれているから。