satisfies: güvenli upcasting (TypeScript 4.9)
(engineering.ab180.co)-
TypeScript 4.9'un 15 Kasım'da yayımlanması planlanıyor ve beta testi 20 Eylül'de başlayacak
- Şu anda Playground üzerinde nightly sürüm olarak kullanılabiliyor
-
TypeScript 4.9'a
satisfiesanahtar kelimesi eklendi -
Mevcut
asanahtar kelimesinden farklı olarak güvenli upcasting desteği sunuyor -
Önceden güvenli upcasting ancak tipin önceden tanımlanmış olması durumunda mümkündü
-
satisfieskullanıldığında, bir object içindeki tek bir key-value çifti için de güvenli upcasting pratik biçimde yapılabiliyor -
Önceki yöntem
// Güvenli ama zahmetli, tip tanımı yapmak gerekiyor (tip tanımı)
const object: {
a: number
b: { a: number }
} = {
a: 10,
b: { a: 10, b: 20 } // no error
// b: {} // error
}
// Kullanışlı ama güvenli değil (`as`)
const object = {
a: 10,
b: { a: 10, b: 20 } as { a: number } // no error
// b: {} as { a: number } // no error (!!!)
}
satisfies
// Kullanışlı ve güvenli
const object = {
a: 10,
b: { a: 10, b: 20 } satisfies { a: number } // no error
// b: {} satisfies { a: number } // error
}
3 yorum
Keşke
const assertionçıkarılıp yerinesatisfieskonsa diye bir eksiklik hissi var,,Ah,
const assertiondeğil -> sadeceassertion.Giderek daha karmaşık hale geliyor gibi görünüyor :(