Arda Aktaş
TypeScript için 6 Pratik Tarif
Tüm makaleler
TypeScriptFrontendBest Practice

TypeScript için 6 Pratik Tarif

Üretim kodunda gerçekten fark yaratan TypeScript ipuçları: discriminated union'lar, satisfies, branded type'lar ve daha fazlası.

Arda Aktaş1 dk okuma

TypeScript'i her gün kullanıyoruz ama tüm gücünden yararlandığımızı söylemek zor. İşte üretim projelerinde sürekli başvurduğum 6 pratik tarif.

1. as const ile Sabitlerinizi Daraltın

const ROLES = ["admin", "editor", "viewer"] as const;
type Role = (typeof ROLES)[number]; // "admin" | "editor" | "viewer"

2. satisfies Operatörü

Bir değerin tipini doğrularken, türü daraltma özelliğini kaybetmez:

const config = {
  endpoint: "/api/v1",
  timeout: 5000,
} satisfies AppConfig;
 
// config.timeout hâlâ number, generic bir AppConfig.timeout değil

3. Discriminated Union

Karmaşık state'leri yönetmenin en güvenli yolu:

type State =
  | { status: "idle" }
  | { status: "loading" }
  | { status: "success"; data: User }
  | { status: "error"; error: Error };

4. Branded Type'larla Yanlış Yere Değer Atamayı Önleyin

type UserId = string & { __brand: "UserId" };
type PostId = string & { __brand: "PostId" };

5. unknown, any'den Daha İyidir

API yanıtlarını any yerine unknown ile karşılayın; sonra zod gibi bir runtime doğrulayıcıyla daraltın.

6. Generic'lerle Sınırlamak İçin extends

function getId<T extends { id: string }>(item: T): string {
  return item.id;
}

Bu küçük araçlar, kod tabanınızı daha güvenli ve okunaklı hâle getirir.

Bu konuda destek mi gerekiyor?

İhtiyacınızı 5 dakikada konuşalım, size uygun çözümü birlikte tasarlayalım.

+90 545 799 80 25

İlgili Makaleler