typescript - Null veya undefined olabilen özellik "var olmadığı" hatasına neden oluyor
Döndürülen bir nesneyi doğru şekilde nasıl parçalayacağımı anlamaya çalışıyorum.
İşte TypeScript kodu:
const id = 1;
const { film: { title, director } } = await getEvent({ id });
title ve director altında bir hata alıyorum: Özellik film türünde mevcut değil. film üzerine geldiğimde, türünü gösteriyor:
(property) film?: {
title?: string | null | undefined;
director?: string | null | undefined;
... and 10 more ...;
} | undefined
Bu özelliklerin var olduğunu derleyiciye, title ve director türlerini undefined/null/opsiyonel olmaktan değiştirmeden nasıl söyleyebilirim?
Cevap #1
Varsayılan değerler sağlayarak TypeScript derleyicisini mutlu edebilirsiniz:
const { film: { title = '', director = '' } = {} } = await getEvent({ id });
Cevap #2
const film: {
title: string | null | undefined,
director: string | null | undefined
} = await getEvent({ id });
Değişkeniniz bildirildiğinde, bir isim (film) olmalıdır ve ardından değişkenin türü : ile gelir
