← Bloga dön

2025-06-13

Zod: TypeScript'in Eksik Çalışma Zamanı Doğrulama Katmanı

TypeScript tipleri çalışma zamanında yok olur. Zod onları geri getirir — ve yalnızca kontrol etmez, ayrıştırır. İşte her TypeScript API istemcisinin neden kullanması gerektiği.

TypeScript Yanılsaması

TypeScript size derleme zamanında güven verir. Ancak veri bir ağ sınırını geçtiği anda bu güven buharlaşır. TypeScript tipleriniz bir söz, garanti değildir.

const user = response.data as User; // 🙏 hope it matches

Bu as dönüşümü bir yalandır. API zorunlu bir alan için null döndürürse TypeScript sizi kurtarmaz.

Zod: Doğrulama Değil, Ayrıştırma

Zod'un arkasındaki temel içgörü, doğrulama (kontrol etme) ile ayrıştırma (dönüştürme) arasındaki ayrımdır:

const UserSchema = z.object({
  id: z.number().int(),
  name: z.string(),
  email: z.string().email(),
});

// Throws ZodError with detailed path if invalid
const user = UserSchema.parse(response.data);

// user is now typed as { id: number; name: string; email: string }
// TypeScript KNOWS this is valid — no cast needed

parse()'den sonra TypeScript doğru tipi çıkarır. Ayrı bir tip tanımına ihtiyacınız yok — z.infer<typeof UserSchema> size onu ücretsiz verir.

JSON'dan Zod Schema'ları Oluşturma

Başlamanın en hızlı yolu, gerçek bir API yanıtını dönüştürücümüze yapıştırmaktır. İç içe nesne schema'ları, dizi tipleri ve z.infer tip dışa aktarmaları ile eksiksiz bir Zod schema'sı elde edersiniz — projenize doğrudan eklenmeye hazır.

Yardımcı Hata Mesajları

Zod'un hata mesajları cerrahi hassasiyettedir:

ZodError: [
  { path: ["address", "zip"], message: "Expected string, received number" }
]

Bunu, iki çağrı çerçevesi sonra render kodunuzda bir yerde bulunan "Cannot read properties of undefined" ile karşılaştırın.

Zod ve JSON Schema Karşılaştırması

Zod JSON Schema
Çalışma zamanı Node/browser Her dil
Tip çıkarımı Otomatik Manuel
Bundle boyutu ~12KB değişken
Ekosistem TypeScript-only Evrensel

Zod'u TypeScript uygulamanızın içinde kullanın. JSON Schema'yı diller arası API sözleşmeleri ve OpenAPI dokümantasyonu için kullanın.

Dosyalarınız cihazınızdan hiçbir zaman ayrılmaz. %100 Güvenli ve Gizli.

Ses veya video dönüştürmeniz mi gerekiyor? mp3-converters.com — ücretsiz MP4/WAV/M4A→MP3 dönüştürücü, %100 tarayıcı tabanlı.

PDF dönüştürmeniz mi gerekiyor? pdf-word-converter.com — ücretsiz PDF→Word, PDF→HTML ve HTML→PDF dönüştürücü, %100 tarayıcı tabanlı.

Çevrimdışı çalışır — tarayıcınızın  "Uygulamayı yükle"  seçeneğiyle uygulama olarak yükleyin.

Gizlilik Politikası

© 2026 json-convert.com — Ücretsiz, açık ve gizli.