CodeBlanks Logo Icon CodeBlanks

Readonly vs const

readonly ile const arasındaki farkı öğrenirsin.

readonly vs const

const bağımsız değişkenler için, readonly ise sınıf alanları için kullanılır. const değişkeni yeniden atamayı engeller; readonly alanı constructor sonrası değiştirilmez yapar.

const MAX = 100;
class Config {
  readonly limit: number = MAX;
}

Hangi durumda hangisi?

Bağımsız bir sabit için const, sınıf alanı için readonly kullan. const sınıf gövdesinde geçerli değildir; readonly ise yalnızca sınıf üyelerinde çalışır.

// Değişmez sabit:
const VERSION = "1.0";
// Sınıf alanı:
class App {
  readonly version: string = VERSION;
}

Uygulama readonly alanlı App sınıfı

App sınıfını tanımla: readonly version: string = "1.0" alanı ile (başlangıç değeri ver). Yeni bir App oluştur ve version alanını yazdır.

Başlangıç kodu

index.ts
// App sınıfı tanımla (değiştirilemez sürüm alanı, başlangıç değeri 1.0)
// yeni App oluştur, version'ı yazdır

Örnek çözüm

index.ts
class App {
  readonly version: string = "1.0";
}

const a = new App();
console.log(a.version);

Beklenen çıktı

1.0

Soru ve cevaplar

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

1 Bir sınıf alanını değiştirilemez yapmak için hangisi kullanılır?

  • readonly Doğru cevap
  • static
  • const
  • let

Açıklama: Sınıf alanları için readonly kullanılır. const sınıf gövdesinde geçerli değildir; yalnızca bağımsız değişkenler için kullanılır. let değiştirilebilir, static ise sınıf düzeyi belirtecidir.

2 Sınıf alanı için doğru belirteci tamamla

Soru
class App {
  ____ version: string = "1.0";
}
Cevap
class App {
  readonly version: string = "1.0";
}

Açıklama: Sınıf alanını değiştirilemez yapmak için readonly kullanılır. const sınıf gövdesinde geçersiz, static sınıf düzeyine taşır (değiştirilebilir), public erişimi açar (değiştirilebilir).

3 readonly vs const parçaları

Kavram Anlamı
const Değişken için sabit
readonly Sınıf alanı için sabit
const MAX = 100 Bağımsız sabit
readonly limit: number Sınıf sabit alanı

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