Özet - Readonly
- TypeScript kursu
- Orta seviye
- Ders 14/89
- 4 dk
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
// 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
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
class Settings {
____ env: string;
readonly version: number;
constructor(env: string, version: number) {
this.env = env;
this.version = version;
}
}
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 |