Nullables
Similarly, you can create nullable types with z.nullable().
ts
const nullableString = z.nullable(z.string());
nullableString.parse("asdf"); // => "asdf"
nullableString.parse(null); // => nullconst nullableString = z.nullable(z.string());
nullableString.parse("asdf"); // => "asdf"
nullableString.parse(null); // => nullOr use the .nullable() method.
ts
const E = z.string().nullable(); // equivalent to nullableString
type E = z.infer<typeof E>; // string | nullconst E = z.string().nullable(); // equivalent to nullableString
type E = z.infer<typeof E>; // string | nullExtract the inner schema with .unwrap().
ts
const stringSchema = z.string();
const nullableString = stringSchema.nullable();
nullableString.unwrap() === stringSchema; // trueconst stringSchema = z.string();
const nullableString = stringSchema.nullable();
nullableString.unwrap() === stringSchema; // true