Dize kalıbı türleri (rota parametreleri, olay adları)
Dizeleri şablon değişmez türleriyle kısıtlayın: rota parametresi kalıpları, olay adı ad alanları ve güvenli oluşturucular.
Dize kalıbı türleri (rota parametreleri, olay adları), CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 3 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, TypeScript Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. TypeScript Academy kursu toplamda 3 dersten oluşur.
Giriş
Amaç: Türlerde dize biçimlerini modelleyin. Şablon dize türleriyle "/users/:id" veya "user:created" gibi örüntüleri zorunlu kılarken iyi bir DX sağlayabilirsiniz.
- Ön eke ve son eke göre kısıtlayın
- Parçaları
inferile çıkarın - Güvenli yardımcılar oluşturun
Rota parametreleri
Basit bir rota şablonu oluşturun ve parametre adını çıkarın; kurala uymayan durumlarda sonuç üretmeyin.
type Route = `/${string}`
type RouteWithParam = `/${string}/:${string}`
type ParamOf<R extends string> = R extends `${string}/:${infer P}` ? P : never
// examples
type A = ParamOf<"/users/:id"> // "id"
type B = ParamOf<"/posts/:slug"> // "slug"Güvenli rota yardımcısı
Güvenli oluşturucu: Yardımcı işlev, "/" ile başlayan şablonları kabul eder; diğerleri derleme sırasında reddedilir.
type Path<R extends string> = R extends `/${string}` ? R : never
function route<R extends Path<R>>(r: R) { return r }
const ok = route("/users/:id") // ok
// const bad = route("users") // error: must start with "/"Olay ad alanları
Ön ekleri (ör. kullanıcı: ve sipariş:) sınırlayın ve hatalı alan adlarını türlerle engelleyin.
type EventName = `user:${string}` | `order:${string}`
function on<E extends EventName>(name: E, cb: (data: unknown) => void) {
// ... register listener
}
on("user:created", d => {}) // ok
// on("payment:done", d => {}) // error: not an EventNameOlayı bölme
Çıkarın: İki bölümü çıkarımla alın ve tür bilgisi taşıyan alanlara dönüştürün; geçersiz biçimler oluşamaz.
type SplitEvent<E extends string> = E extends `${infer Scope}:${infer Action}` ? { scope: Scope; action: Action } : never
type S = SplitEvent<"user:created"> // { scope: "user"; action: "created" }
type Bad = SplitEvent<"oops"> // neverİpuçları
İpuçları:
Kısıtlamaları asgari düzeyde tutun; aşırı katı şablonlar yeniden düzenleme gerektirir.
Kuralları oluşturucu işlevlerle tek bir yerde birleştirin.
Temel dizeyi bilinmeyen veriye eşleyip çalışma zamanında doğrulamayı unutmayın.
Ad alanları kontrolü
Hızlı kontrol: Olay adlarını iki ad alanıyla sınırlayan örüntü hangisidir?
Özet
Özet: Şablon dize türleriyle şablonlu dizeleri kısıtlayın; parçaları çıkarımla ayırın; güvenli oluşturucu işlevler oluşturun.
Sıkça Sorulan Sorular
“Dize kalıbı türleri (rota parametreleri, olay adları)” dersi ücretsiz mi?
Evet — “Dize kalıbı türleri (rota parametreleri, olay adları)” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve TypeScript Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. TypeScript Academy kursu toplamda 3 dersten oluşur.
“Dize kalıbı türleri (rota parametreleri, olay adları)” dersinde ne öğreneceğim?
Dizeleri şablon değişmez türleriyle kısıtlayın: rota parametresi kalıpları, olay adı ad alanları ve güvenli oluşturucular. TypeScript Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
TypeScript Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te TypeScript Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 3 dersinin 3. dersidir.
“Dize kalıbı türleri (rota parametreleri, olay adları)” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu TypeScript Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her TypeScript Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- +/-readonly ve +/-? içeren eşlenmiş türler
- Anahtarları yeniden eşleme ve şablon değişmez türleri
- Dize kalıbı türleri (rota parametreleri, olay adları)