Union types
- TypeScript kursu
- Başlangıç
- Ders 59/89
- 4 dk
Birden fazla türden birini belirten union'ı öğrenirsin.
Union type nedir?
Union type, bir değerin birden fazla türden birine sahip olabileceğini belirtir. Türler | (pipe) işareti ile ayrılır. Örneğin string | number birleşimi, değerin ya string ya da number olabileceğini söyler.
let id: string | number;
id = "TS-101";
id = 42;Bu, bir kimliğin hem metin hem sayı biçiminde olabildiği durumlarda pratiktir.
Tür daraltma (narrowing)
Bir union türü kullanırken TypeScript'in hangi türde olduğunu anlaması gerekir. typeof ile türü daraltarak (narrowing) doğru işlemleri yaparsın. Her dalda yalnızca o dala özgü metotlar kullanılır.
function printId(id: string | number) {
if (typeof id === "string") {
console.log(id.toUpperCase());
} else {
console.log(id * 2);
}
}
printId("abc");
printId(5);Uygulama Union ile format fonksiyonu yaz
format(input: string | number): string fonksiyonunu yaz. typeof ile daralt: string ise toUpperCase() döndür, number ise "N-" + input döndür. İki çağrının sonucunu da yazdır.
Başlangıç kodu
// format fonksiyonunu yaz
// parametre input: string veya number
// string ise büyük harfe çevir ve döndür
// number ise başına N- ön ekini ekle ve döndürÖrnek çözüm
function format(input: string | number): string {
if (typeof input === "string") {
return input.toUpperCase();
} else {
return "N-" + input;
}
}
console.log(format("hello"));
console.log(format(42));Beklenen çıktı
HELLO N-42
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir değişkenin string | number türüne sahip olması ne anlama gelir?
let id: string | number = 42;- Değer hiçbir tür olamaz
- Değer string veya number olabilir Doğru cevap
- Değer hem string hem number olmalıdır
- Değer yalnızca number olabilir
Açıklama: Union, türlerden birini seçmene izin verir; değer belirtilen türlerden herhangi biri olabilir.
2 Union işlecini tamamla
let id: string ____ = 42;
let id: string | number = 42;
Açıklama: Union türleri | işleci ile birleştirir. string | number, değerin ya string ya number olabileceğini söyler.
3 Union parçaları
| Kavram | Anlamı |
|---|---|
| |
Türleri birleştirir (or) |
typeof id === "string" |
Daraltma (narrowing) yapar |
string | number |
Birleşik tür örneği |
null | undefined |
İki değersizliği birleştirir |