TypeScript’te İleri Düzey String Tipleri
TypeScript’in güçlü tip sistemi, template literal tipleri ve koşullu tip çıkarımı gibi özelliklerle tamamen tip seviyesinde gelişmiş string işlemleri yapmanıza olanak tanır.
Bu yazıda, sadece TypeScript’in tip sistemiyle string tersine çevirme, karakter silme ve format doğrulama işlemlerini nasıl yapabileceğimizi keşfedeceğiz.
Bir String'in İlk Karakterini Kaldırmak
Template literal ve `infer` anahtar sözcüğünü kullanarak, bir string tipinin ilk karakterini desen eşlemesiyle kaldırabilir ve kalan karakterleri döndürebiliriz.
type RemoveFirst<T extends string> =
T extends `${infer _}${infer Remain}` ? Remain : never;
type Test = RemoveFirst<'hello'>; // 'ello'
String’i Tip Seviyesinde Tersine Çevirmek
Özyineleme ve template literal tipleriyle, tamamen TypeScript’in tip sistemi içinde string’i tersine çevirmek mümkündür—hiçbir çalışma zamanı koduna ihtiyaç yoktur.
type Reverse<T extends string> =
T extends `${infer First}${infer Rest}`
? `${Reverse<Rest>}${First}`
: T;
type Test = Reverse<'type'>; // 'epyt'
Template Literal ile String Formatı Doğrulama
Template literal tipleri, URL veya token gibi belirli string formatlarını derleme zamanında doğrulayarak, API yapılandırmaları veya ortam değişkenleri için güvenli değerler sağlar.
type Auth = {
name: string;
url: `https://${string}` | `http://${string}`;
token: `Bearer ${string}`;
}
const req: Auth = {
name: 'user',
url: 'https://site.com',
token: 'Bearer abc123'
}
Sonuç
TypeScript’teki ileri düzey string tipleri, derleme sırasında string yapılarını doğrulayarak ve dönüştürerek son derece güvenli ve ifadeli kod yazmanıza olanak tanır.
İster API’ler oluşturuyor olun, ister format doğrulaması yapın, bu tip-seviyesinde teknikleri ustalıkla kullanmak üretkenliğinizi ve kod güvenliğinizi artıracaktır.
Geri