z.array 配列型
const stringArraySchema = z.array(z.string())
z.nullable null許容型
const nullableStringSchema = z.string().nullable()
z.optional optional(undefined)許容型
const optionalStringSchema = z.string().optional()
z.nullish nullかつoptionalな型
const nullishStringSchema = z.string().nullish()
z.literal string型, number型, boolean型などの特定の値が入る型
const messageSchema = z.literal("message")
const oneSchema = z.literal(1)
const trueSchema = z.literal(true)
type Message = z.infer<typeof messageSchema>
type One = z.infer<typeof oneSchema>
type True = z.infer<typeof trueSchema>
z.union 複数の型のいずれかに一致する型
const stringOrNumberSchema = z.union([z.string(), z.number()])
z.nonempty 空文字列を許容しないstring型
const nonemptyStringSchema = z.string().nonempty()
const emptyStringSchema = z.string().length(0)
z.any どの型でも許容する型
const anySchema = z.any()
z.unknown どの型でも許容するが、型が確定するまでプロパティやメソッドを参照できない
const unknownSchema = z.unknown()