Yazılım Geliştirme 1 dakika okuma

TypeScript ile Tip Guvenli Backend

TypeScript ile Node.js backend: tip tanimlari, interface, generic ve zod ile runtime dogrulama.

E
Emre Cihan
· · 15 görüntüleme

Neden TypeScript

JavaScript'in tip guvensizligi buyuk projelerde sorun cikariyor. TypeScript derleme zamaninda hatalari yakalar.

Kurulum

npm init -y
npm install typescript ts-node @types/node
npx tsc --init

Temel Tipler

// Primitive
const ad: string    = 'Emre';
const yas: number   = 30;
const aktif: boolean = true;

// Array
const sayilar: number[]    = [1, 2, 3];
const isimler: Array<string> = ['a', 'b'];

// Tuple
const koordinat: [number, number] = [41.0, 28.9];

// Union
let id: string | number = 'abc';
id = 123; // gecerli

Interface ve Type

interface Kullanici {
  readonly id: number;
  email: string;
  ad: string;
  rol?: 'admin' | 'user'; // optional union
}

type ApiYanit<T> = {
  basarili: boolean;
  veri: T;
  hata?: string;
};

// Generic fonksiyon
function ilk<T>(dizi: T[]): T | undefined {
  return dizi[0];
}

const ilkSayi = ilk([1, 2, 3]);   // number
const ilkIsim = ilk(['a', 'b']);   // string

Zod ile Runtime Dogrulama

npm install zod
import { z } from 'zod';

const KullaniciSchema = z.object({
  email: z.string().email(),
  sifre: z.string().min(8),
  yas:   z.number().int().min(18).max(120),
});

type Kullanici = z.infer<typeof KullaniciSchema>;

// API handler
async function kayit(body: unknown): Promise<void> {
  const sonuc = KullaniciSchema.safeParse(body);
  if (!sonuc.success) {
    throw new Error(sonuc.error.message);
  }
  const kullanici: Kullanici = sonuc.data;
  // kullanici.email garantili string
}

TypeScript + Zod kombinasyonu compile time ve runtime guvenligini birlikte saglar.

Paylaş: Twitter / X
E
Emre Cihan
Sistem Yöneticisi · Maker · Elektronik Meraklısı

İlgili yazılar

Yazılım Geliştirme
Python mu JavaScript mi? Hangisini Öğrenmelisin?
1 dk
Yazılım Geliştirme
Programlama Öğrenmek İçin Matematik Bilmek Gerekir mi?
1 dk
Yazılım Geliştirme
Yazılımcı Olmak İçin Üniversite Şart mı?
1 dk
Yazılım Geliştirme
2026'da En Çok Kazandıran Yazılım Alanları
1 dk