İçeriğe geç
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 const ile birlikte sabit listeler
Paylaş

Yazar

Taha Bayar

Bu blogun sahibi. Sunucular, yazılım ve öğrendiklerim üzerine yazıyorum.

Yorumlar0

  • İlk yorumu siz yazın.

Benzer yazılar