Tüm yazılar
TypeScript'te satisfies operatörünü sevmeyi öğrenmek
Tip güvenliğinden ödün vermeden, değerin en dar tipini korumak. Yapılandırma nesneleri için birebir.
Taha Bayar1 dk okuma 236
İçindekiler
satisfies operatörü ilk çıktığında "bu da ne, zaten : Tip yazıyoruz" diye düşünmüştüm. Yanılmışım.
Sorun
type Renk = Record<string, string | [number, number, number]>;
const palet: Renk = {
kirmizi: [255, 0, 0],
yesil: "#00ff00",
};
palet.kirmizi.map((x) => x * 2); // Hata: string olabilir
Tipi açıkça yazdığımız için TypeScript kirmizi değerinin dizi olduğunu "unutuyor".
Çözüm
const palet = {
kirmizi: [255, 0, 0],
yesil: "#00ff00",
} satisfies Renk;
palet.kirmizi.map((x) => x * 2); // Sorun yok
Nesne Renk tipine uymak zorunda, ama değişkenin tipi en dar haliyle korunuyor.
Nerede kullanıyorum?
- Route ve menü tanımları
- Ortam değişkeni şemaları
as constile birlikte sabit listeler