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ğil3. 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.