Principes des schémas Zod
Définir des schémas pour les types primitifs, les objets et les tableaux.
Principes des schémas Zod est une leçon TypeScript Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage TypeScript Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours TypeScript Academy comprend 4 leçons au total.
Pourquoi valider à l’exécution ?
Les types TypeScript disparaissent à l’exécution. Les données provenant des API, des formulaires et des fichiers ne sont pas typées à la frontière. Zod valide ces données à l’exécution et vous fournit également les types.
import { z } from "zod";
// Types check at compile time; Zod checks values at runtime.Importer Zod
Importez l’espace de noms z depuis le paquet zod. Chaque constructeur de schema se trouve dans z.
import { z } from "zod";
const nameSchema = z.string();
// nameSchema validates that a value is a string.Schémas de types primitifs
Zod propose des constructeurs pour les types primitifs : z.string(), z.number() et z.boolean() valident chacun un type de valeur.
import { z } from "zod";
const name = z.string();
const age = z.number();
const active = z.boolean();
// Use .parse(value) to validate at runtime.Valider une valeur
Appelez .parse sur un schema pour le valider. La méthode renvoie la valeur si elle est valide et lève une exception dans le cas contraire.
import { z } from "zod";
const schema = z.string();
const result = schema.parse("hello"); // "hello"
const broken = schema.parse(123); // throws ZodErrorSchémas d’objets
z.object décrit la shape d’un objet en associant chaque clé à un schema pour sa valeur.
import { z } from "zod";
const userSchema = z.object({
name: z.string(),
age: z.number()
});
// userSchema.parse({ name: "Ada", age: 36 }) succeeds.Schémas de tableaux
z.array vérifie qu’une valeur est un tableau dont tous les éléments correspondent à un schema donné.
import { z } from "zod";
const tags = z.array(z.string());
// tags.parse(["a", "b"]) succeeds; tags.parse([1]) throws.Imbriquer des schémas
Les schémas se composent. Un objet peut contenir des tableaux et d’autres objets, comme dans la structure de vos données réelles.
import { z } from "zod";
const post = z.object({
title: z.string(),
tags: z.array(z.string()),
author: z.object({ name: z.string() })
});
// Validates nested structure in one call.Booléens et nombres ensemble
Combinez plusieurs types de champs dans un même schema d’objet pour modéliser des enregistrements réalistes.
import { z } from "zod";
const product = z.object({
name: z.string(),
price: z.number(),
inStock: z.boolean()
});
// product.parse({ name: "Pen", price: 2, inStock: true });Les schémas sont des valeurs
Un schema Zod est une valeur JavaScript ordinaire que vous pouvez stocker, transmettre et réutiliser, contrairement à un type TypeScript qui n’existe qu’au moment de la compilation.
import { z } from "zod";
const emailSchema = z.string();
function check(s: typeof emailSchema, v: unknown) {
return s.parse(v);
}
// You can pass schemas as arguments.Valider des données inconnues
Zod est idéal pour les données unknown, comme une charge utile JSON analysée, car il vérifie la valeur tout en la restreignant de manière sûre.
import { z } from "zod";
const schema = z.object({ id: z.number() });
const raw: unknown = JSON.parse("{ \"id\": 1 }");
const data = schema.parse(raw); // data.id is numberLes éléments fondamentaux du cours
Avec z.object, z.string, z.number, z.array et z.boolean, vous pouvez décrire la plupart des données. Nous allons maintenant inférer des types TypeScript à partir de ces schémas.
import { z } from "zod";
const schema = z.object({
name: z.string(),
scores: z.array(z.number())
});
// One schema, ready to validate and to infer a type from.Vérification rapide : bases de Zod
Vérifiez votre compréhension des bases des schémas Zod.
Récapitulatif : bases des schémas Zod
Vous avez appris à importer z et à créer des schémas avec z.object, z.string, z.number, z.array et z.boolean, puis à valider des valeurs à l’exécution avec .parse.
import { z } from "zod";
const userSchema = z.object({ name: z.string(), age: z.number() });
// userSchema.parse({ name: "Ada", age: 36 });Questions Fréquemment Posées
La leçon « Principes des schémas Zod » est-elle gratuite ?
Oui — le texte complet de « Principes des schémas Zod » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours TypeScript Academy, passe à CoddyKit PRO. Le cours TypeScript Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Principes des schémas Zod » ?
Définir des schémas pour les types primitifs, les objets et les tableaux. Tu pratiques TypeScript Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer TypeScript Academy ?
Aucune expérience préalable n'est requise. TypeScript Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.
Combien de temps prend la leçon « Principes des schémas Zod » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon TypeScript Academy ?
Oui. Chaque leçon TypeScript Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Principes des schémas Zod
- Inférer des types à partir de schémas
- parse ou safeParse
- Composer et affiner des schémas