CodeBlanks Logo Icon CodeBlanks

Özet - Readonly

Readonly alanlarla değiştirilemez bir yapılandırma yazarsın.

Özet - Readonly

Bir Settings sınıfı, readonly alanlarla değiştirilemez bir yapılandırma modeli oluşturur. Her alan constructor'da atanır ve sonrasında donar; böylece yapılandırma tutarlı kalır.

class Settings {
  readonly env: string;
  readonly version: number;
  constructor(env: string, version: number) {
    this.env = env;
    this.version = version;
  }
}
const s = new Settings("prod", 2);
console.log(s.env);
console.log(s.version);

Uygulama readonly alanlı Settings sınıfı

Settings sınıfını tanımla: readonly env: string ve readonly version: number alanları ile. constructor ile env ve version parametrelerini al ve this ile ata. Yeni bir Settings("prod", 2) oluştur ve env ile version yazdır.

Başlangıç kodu

index.ts
// Settings sınıfı tanımla (değiştirilemez ortam ve sürüm alanları)
// constructor ile env ve version al, this ile ata
// yeni Settings oluştur, env ve version yazdır

Örnek çözüm

index.ts
class Settings {
  readonly env: string;
  readonly version: number;
  constructor(env: string, version: number) {
    this.env = env;
    this.version = version;
  }
}

const s = new Settings("prod", 2);
console.log(s.env);
console.log(s.version);

Beklenen çıktı

prod
2

Soru ve cevaplar

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

1 readonly bir alan hangi durumlarda atanabilir?

  • Dışarıdan her zaman
  • Metot içinde
  • Bildirimde veya constructor'da Doğru cevap
  • Sadece static metotta

Açıklama: readonly alan yalnızca tanımlandığı yerde (başlangıç değeri) veya constructor içinde atanabilir. Metotlar, dış kod veya static metotlar atanamaz.

2 readonly env alanını tamamla

Soru
class Settings {
  ____ env: string;
  readonly version: number;
  constructor(env: string, version: number) {
    this.env = env;
    this.version = version;
  }
}
Cevap
class Settings {
  readonly env: string;
  readonly version: number;
  constructor(env: string, version: number) {
    this.env = env;
    this.version = version;
  }
}

Açıklama: env alanının değiştirilemez olması için readonly yazmalısın. const sınıfta geçersiz, private erişimi kısıtlar (değiştirilebilir), static sınıf düzeyine taşır (değiştirilebilir).

3 Settings parçaları

Kavram Anlamı
readonly env Değiştirilemez ortam
readonly version Değiştirilemez sürüm
new Settings("prod", 2) Örnek oluşturma
s.env Yapılandırmayı okuma

Orta seviye bölümündeki tüm dersler