Meydan okuma 3: Birleşim
- TypeScript kursu
- Başlangıç
- Ders 88/89
- 6 dk
Union ve intersection'ı kullanarak bir model tasarlersın.
Meydan okuma 3: Birleşim
Bu meydan okumada union (|) ve intersection (&) operatörlerini kullanarak renk ve para modelleri tasarlayacaksın. Önce literal birleşim ile renkleri, sonra intersection ile para türünü tanımlayacaksın.
Uygulama Color ve hex fonksiyonu
Color türünü "red" | "green" | "blue" olarak tanımla. hex(c: Color): string fonksiyonu yaz: "red" için "#ff0000", "green" için "#00ff00", "blue" için "#0000ff" döndür. hex("red") ve hex("blue") sonuçlarını yazdır.
Başlangıç kodu
// Color türü: "red", "green", "blue"
// hex(c: Color): string yaz
// red -> "#ff0000", green -> "#00ff00", blue -> "#0000ff"
// iki çağrıyı yazdırÖrnek çözüm
type Color = "red" | "green" | "blue";
function hex(c: Color): string {
if (c === "red") {
return "#ff0000";
} else if (c === "green") {
return "#00ff00";
} else {
return "#0000ff";
}
}
console.log(hex("red"));
console.log(hex("blue"));Beklenen çıktı
#ff0000 #0000ff
Uygulama Price ve Currency birleştir
Price arayüzünü tanımla: amount: number. Currency arayüzünü tanımla: code: string. Money türünü Price & Currency olarak tanımla. Bir Money nesnesi oluştur ve code alanını yazdır.
Başlangıç kodu
// Price arayüzü: amount: number
// Currency arayüzü: code: string
// Money = Price & Currency
// bir Money oluştur ve code yazdırÖrnek çözüm
interface Price { amount: number; }
interface Currency { code: string; }
type Money = Price & Currency;
const m: Money = { amount: 100, code: "TRY" };
console.log(m.code);Beklenen çıktı
TRY
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Price & Currency ifadesi ne tür üretir?
- Price veya Currency
- Price ve Currency birleşimi Doğru cevap
- Sadece Price
- Sadece Currency
Açıklama: Intersection (&), her iki türün tüm alanlarını birleştirir. Sonuç hem Price hem Currency'nin alanlarını içerir.
2 Union operatörünü tamamla
type Color = "red" ____ "green" | "blue";
type Color = "red" | "green" | "blue";
Açıklama: Color üç literalın pipe ile birleşimidir. & kesişimdir (never olur), || ve + tür operatörü değildir.
3 Birleşim operatör parçaları
| Kavram | Anlamı |
|---|---|
| |
Union (veya) |
& |
Intersection (ve) |
"red" | "green" | "blue" |
Üç renk literalı |
Price & Currency |
Fiyat ve para birimi |