CodeBlanks Logo Icon CodeBlanks

Meydan okuma 1: Türler

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

index.ts
// Person arayüzü tanımla (isim, yaş, e-posta)
// bir person nesnesi oluştur
// name alanını yazdır

Örnek çözüm

index.ts
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

index.ts
// Address arayüzü tanımla (şehir, posta kodu)
// PersonWithAddress = Person & Address
// bir nesne oluştur ve city yazdır

Örnek çözüm

index.ts
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

Soru
interface Person { name: string; age: number; email: ____; }
Cevap
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ı

Başlangıç bölümündeki tüm dersler