0Pricing
TypeScript Academy · Ders

T extends U ? X : Y uygulamada

Uygulamaya dönük koşullu türler yazın; birleşimler üzerindeki dağılımı ve gerektiğinde bundan nasıl kaçınılacağını öğrenin.

T extends U ? X : Y uygulamada, CoddyKit'te ücretsiz bir TypeScript Academy dersidir. Bu, 3 dersinin 1. 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ş

Hedef: Tür sisteminde mantığı ifade etmek için koşullu türleri kullanın ve birleşimler üzerinde ne zaman dağıtıldıklarını anlayın.

  • Kalıp: T extends U ? X : Y
  • Dağıtım: dalı her birleşim üyesine uygular

Temel kalıp

Koşullu türler, T'nin string'e atanabilir olup olmamasına göre bir dal seçer.

type IsString<T> = T extends string ? true : false

type A = IsString<string>
//   ^ true

type B = IsString<number>
//   ^ false

Dağıtım

Çıplak bir T kullanıldığında denetim her birleşim üyesi için ayrı ayrı çalışır: string | number, string[] | number[] hâline gelir.

type ToArray<T> = T extends any ? T[] : never

type C = ToArray<string | number>
// distributes:
// C is string[] | number[]

Dağıtımdan çıkma

Dağıtımı önlemek ve birleşimi bir bütün olarak ele almak için T'yi bir demet içine ([T]) sarın.

type ToArrayNoDist<T> = [T] extends [any] ? T[] : never

type D = ToArrayNoDist<string | number>
// no distribution:
// D is (string | number)[]

Gerçek dünya yardımcı türü

Kalıbın örneği: Dizilerde ElementType, öğeyi ayıklamak için infer kullanır; aksi durumda türü olduğu gibi bırakır.

type NonEmptyArray<T> = T[] extends [] ? never : T[]
// Usually better:
// type ElementType<T> = T extends ReadonlyArray<infer U> ? U : T

type E1 = ElementType<string[]>
//   ^ string

type E2 = ElementType<readonly number[]>
//   ^ number

type E3 = ElementType<string>
//   ^ string

İpuçları

İpuçları: Koşulları basit tutun; dağıtımı göz önünde bulundurun; yardımcı türleri yeniden kullanın; karmaşık birleşimler için sınama dosyaları ekleyin.

// Tips
// - Keep conditions simple; deep nesting harms readability
// - Document distribution behavior for teammates
// - Prefer helper aliases (ElementType, Awaited) for reuse
// - Watch for De Morgan like logic when composing unions

Dağıtım denetimi

Hızlı denetim: Koşullu türler ne zaman dağıtılır?

Özet

Özet: Koşullu türler, türlerdeki mantığı modeller. Dağıtım her birleşim üyesine uygulanır; bundan çıkmak için demet sarmalama kullanın.

Sıkça Sorulan Sorular

“T extends U ? X : Y uygulamada” dersi ücretsiz mi?

Evet — “T extends U ? X : Y uygulamada” 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.

“T extends U ? X : Y uygulamada” dersinde ne öğreneceğim?

Uygulamaya dönük koşullu türler yazın; birleşimler üzerindeki dağılımı ve gerektiğinde bundan nasıl kaçınılacağını öğrenin. 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 1. dersidir.

“T extends U ? X : Y uygulamada” 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

  1. T extends U ? X : Y uygulamada
  2. ReturnType benzeri yardımcılar için infer
  3. Yerleşik türler: ReturnType, Parameters, InstanceType vb.
← TypeScript Academy Sayfasına Dön