CodeBlanks Logo Icon CodeBlanks

Özet - Objeler

Nesne türlerini birleştirerek bir kullanıcı kartı yazarsın.

Özet - Objeler

Nesne türleri veriyi kesin olarak modellemeni sağlar: şekil özellikleri tanımlar, ? isteğe bağlı özellik işaretler, readonly değiştirilemez özellik belirler. Birlikte kullanıldığında güvenli ve net veri yapıları oluşturulur.

let kullanici: {
  readonly id: number;
  ad: string;
  eposta?: string
} = { id: 1, ad: "Ali" };

Bu üç özellik birlikte esnek ama güvenli nesne türleri yaratır.

Uygulama Kullanıcı kartı yaz

kullanici adında bir değişken tanımla; türü { readonly id: number; ad: string; eposta?: string } ve değeri { id: 1, ad: "Zeynep", eposta: "z@x.com" } olsun. kullanici.eposta değerini console.log ile yazdır.

Başlangıç kodu

index.ts
// kullanici adında bir nesne tanımla
// id özelliği readonly sayı, ad özelliği zorunlu dize, eposta özelliği isteğe bağlı dize olsun
// id değeri 1, ad değeri "Zeynep", eposta değeri "z@x.com" olsun
// kullanici.eposta değerini yazdır

Örnek çözüm

index.ts
let kullanici: { readonly id: number; ad: string; eposta?: string } = { id: 1, ad: "Zeynep", eposta: "z@x.com" };
console.log(kullanici.eposta);

Beklenen çıktı

z@x.com

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi <code>{ ad: "Ali" }</code> değerine izin verir ama <code>ad</code>'a yeniden atama yapılmasını engeller?

  • { readonly ad: string } Doğru cevap
  • { ad: string; tel?: string }
  • { readonly id: number; ad: string }
  • { ad?: string }

Açıklama: <code>{ readonly ad: string }</code>, <code>ad</code>'ı hem zorunlu hem değiştirilemez yapar; değer <code>{ ad: "Ali" }</code> geçerlidir ve <code>ad</code> sonradan değiştirilemez.

2 İsteğe bağlı özellik türünü tamamla

Soru
let kullanici: { readonly id: number; ad: string; eposta?: ____ } = { id: 1, ad: "Ali" };
Cevap
let kullanici: { readonly id: number; ad: string; eposta?: string } = { id: 1, ad: "Ali" };

Açıklama: <code>eposta</code> bir e-posta adresi olduğundan türü <code>string</code> olmalıdır; <code>number</code> ve <code>boolean</code> e-posta için yanlış tür, <code>void</code> ise özellik türü değildir.

3 Nesne kavramları özeti

Kavram Anlamı
{ ad: string } Zorunlu özellik
tel?: string İsteğe bağlı özellik
readonly id: number Değiştirilemez özellik
Object type Nesnenin şekli

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