Я программирую с опцией strikNullCheks.
Когда я использую ! operator
с in operator
, я получаю следующую ошибку.(Это именно то, что происходит, когда я использую полезную нагрузку действия Redux.)
Есть ли способ решить проблему?
Спасибо, что прочитали:)
interface Interface {
AB?: {
a: number;
} | {
b: number[];
}
}
function test(ab: Interface['AB']) {
const ab2 = ('a' in ab!) ? [ab!.a] : ab!.b;
=> error: Property 'a' does not exist on type '{ a: number; } | { b: number[]; }'.
Property 'a' does not exist on type '{ b: number[]; }'.
=> error: Property 'b' does not exist on type '{ a: number; } | { b: number[]; }'.
Property 'b' does not exist on type '{ a: number; }'
}
пример