readonly tuple
- TypeScript kursu
- Başlangıç
- Ders 18/89
- 4 dk
readonly tuple ile değiştirilemez tuple'ları öğrenirsin.
readonly tuple
Bir tuple'ın öğelerinin sonradan değiştirilememesi için türün başına readonly anahtar kelimesini koyarsın: readonly [string, number]. Böyle bir tuple'da öğelere erişebilirsin ama atama yapamazsın.
let t: readonly [string, number] = ["a", 1];
console.log(t[0]); // "a"
t[0] = "b"; // derleme hatasıreadonly tuple, verinin sonradan değişmemesini garanti altına almak için kullanılır.
readonly tuple ne zaman kullanılır?
readonly tuple, yapılandırma değeri, sabit koordinat veya bir fonksiyondan dönen korumalı veri gibi sonradan değişmemesi gereken veriler için uygundur. Tıpkı readonly diziler gibi, yanlışlıkla değiştirilmesi derleme aşamasında engellenir.
let ayar: readonly [string, boolean] = ["debug", true];
console.log(ayar[0]); // "debug"Tuple'ın uzunluğu ve sırası zaten sabittir; readonly içerik değişimini de kapatır.
Uygulama readonly tuple ile yapılandırma
config adında readonly bir tuple tanımla; türü readonly [string, number] ve değeri ["port", 3000] olsun. İkinci öğeyi console.log ile yazdır.
Başlangıç kodu
// config adında readonly bir tuple tanımla
// birinci öğe string, ikinci öğe number
// değer olarak bir ayar adı ve bir sayı gir
// config'in ikinci öğesini yazdırÖrnek çözüm
let config: readonly [string, number] = ["port", 3000];
console.log(config[1]);Beklenen çıktı
3000
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Hangi kod TypeScript derleme hatası verir?
- let t: readonly [string] = ["x"]; console.log(t[0]);
- let t: [string, number] = ["a", 1]; console.log(t.length);
- let t: [number, number] = [1, 2]; t[0] = 5;
- let t: readonly [number, number] = [1, 2]; t[0] = 5; Doğru cevap
Açıklama: <code>readonly</code> tuple'da öğeye atama yapılamaz; bu yüzden <code>t[0] = 5</code> derleme hatası verir. Diğer seçeneklerde ya <code>readonly</code> yok ya da yalnızca okuma yapılıyor.
2 readonly tuple türünü tamamla
let ayar: readonly [string, ____] = ["debug", true];
let ayar: readonly [string, boolean] = ["debug", true];
Açıklama: İkinci konumun değeri <code>true</code> olduğundan türü <code>boolean</code> olmalı; <code>readonly [string, boolean]</code> doğru tamamdır.
3 readonly ve değiştirme
| Kavram | Anlamı |
|---|---|
readonly [string, number] |
Değiştirilemez tuple türü |
t[0] = "x" |
Öğeye atama (değiştirme) |
readonly tuple |
Öğeler sonradan atanamaz |
readonly number[] |
Değiştirilemez dizi türü |