Meydan okuma 1: Türler
- TypeScript kursu
- Başlangıç
- Ders 86/89
- 6 dk
Temel türleri ve interface'leri birleştiren bir görev çözersin.
Meydan okuma 1: Türler
Bu meydan okumada temel türleri ve interface'leri birleştirerek bir Person modeli tasarlayacaksın. name, age ve email alanlarını içeren bir arayüz tanımlayıp kullanacaksın; sonra Address ile intersection yaparak genişleteceksin.
Uygulama Person arayüzü ve nesne
Person arayüzünü tanımla: name: string, age: number, email: string. Bir person nesnesi oluştur ve name alanını yazdır.
Başlangıç kodu
// Person arayüzü tanımla (isim, yaş, e-posta)
// bir person nesnesi oluştur
// name alanını yazdırÖrnek çözüm
interface Person {
name: string;
age: number;
email: string;
}
const person: Person = {
name: "Ada",
age: 30,
email: "ada@x.com"
};
console.log(person.name);Beklenen çıktı
Ada
Uygulama Address ile Person birleştir
Address arayüzünü tanımla: city: string, zip: string. PersonWithAddress türünü Person & Address olarak tanımla. Bir nesne oluştur ve city alanını yazdır.
Başlangıç kodu
// Address arayüzü tanımla (şehir, posta kodu)
// PersonWithAddress = Person & Address
// bir nesne oluştur ve city yazdırÖrnek çözüm
interface Person {
name: string;
age: number;
email: string;
}
interface Address {
city: string;
zip: string;
}
type PersonWithAddress = Person & Address;
const pa: PersonWithAddress = {
name: "Ada",
age: 30,
email: "ada@x.com",
city: "Ankara",
zip: "06000"
};
console.log(pa.city);Beklenen çıktı
Ankara
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Bir Person arayüzünde age alanı hangi türde olmalıdır?
- string
- number Doğru cevap
- boolean
- "young" | "old"
Açıklama: Yaş sayısal bir değer olduğu için number türünde olmalıdır. string metin için, boolean doğru/yanlış için kullanılır.
2 email alan türünü tamamla
interface Person { name: string; age: number; email: ____; }
interface Person { name: string; age: number; email: string; }
Açıklama: E-posta bir metin olduğu için email alanı string türünde olmalıdır. number sayısal, boolean mantıksal, any ise tür güvenliğini kaldırır.
3 Person model parçaları
| Kavram | Anlamı |
|---|---|
name: string |
İsim alanı |
age: number |
Yaş alanı |
email: string |
E-posta alanı |
interface Person |
Kişi modeli tanımı |