Проверка во время выполнения с zod (введение)
Проверяйте ответы JSON во время выполнения с помощью схем zod, чтобы обеспечить безопасность сверх гарантий типов на этапе компиляции.
«Проверка во время выполнения с zod (введение)» — бесплатный урок TypeScript Academy на CoddyKit. Это урок 2 из 2. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения TypeScript Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс TypeScript Academy содержит 2 уроков всего.
Введение
Цель: добавить безопасность во время выполнения с помощью zod. Типов на этапе компиляции недостаточно, поэтому схемы проверяют реальные данные.
Установка zod
Установите zod — популярную библиотеку проверки схем во время выполнения для TS/JS.
npm install zodОпределение схемы
Создавайте схемы с помощью z.object(). Используйте z.infer<typeof Schema>, чтобы создавать типы TS на основе схем.
import { z } from "zod";
const UserSchema = z.object({
id: z.number(),
name: z.string()
});
type User = z.infer<typeof UserSchema>;Schema.parse()
Вызовите Schema.parse(), чтобы проверить данные. Если JSON не соответствует схеме, будет выброшена ошибка.
async function getUser() {
const res = await fetch("/user.json");
const raw = await res.json();
const parsed = UserSchema.parse(raw);
console.log(parsed.id, parsed.name);
}safeParse
safeParse возвращает объект с полями success и error. Это безопаснее, чем выбрасывать исключения.
const result = UserSchema.safeParse(raw);
if (!result.success) {
console.error(result.error);
} else {
console.log(result.data);
}Вложенная схема
Схемы могут быть вложенными: массивы, объекты, необязательные поля и так далее.
const PostSchema = z.object({
id: z.number(),
title: z.string(),
tags: z.array(z.string())
});
const raw = { id: 1, title: "Hello", tags: ["ts", "zod"] };
const post = PostSchema.parse(raw);Проверка валидации
Быстрая проверка: зачем проверять данные с помощью zod после разбора JSON?
Повторение
Повторение: схемы zod проверяют JSON во время выполнения. Используйте parse или safeParse, чтобы обеспечить безопасность.
Часто задаваемые вопросы
Урок «Проверка во время выполнения с zod (введение)» бесплатный?
Да — полный текст урока «Проверка во время выполнения с zod (введение)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс TypeScript Academy, подпишись на CoddyKit PRO. Курс TypeScript Academy содержит 2 уроков всего.
Чему я научусь в уроке «Проверка во время выполнения с zod (введение)»?
Проверяйте ответы JSON во время выполнения с помощью схем zod, чтобы обеспечить безопасность сверх гарантий типов на этапе компиляции. Ты практикуешь TypeScript Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать TypeScript Academy?
Предыдущий опыт не требуется. TypeScript Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 2.
Сколько времени занимает урок «Проверка во время выполнения с zod (введение)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке TypeScript Academy?
Да. Каждый урок TypeScript Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Типы Fetch API; обобщения Response.json()
- Проверка во время выполнения с zod (введение)