null, то и b не будет ему равно, но тайпскрипт считает, что b имеет тип null | number
Как это можно исправить?
const foo = ({ a, b }: { a: number; b: number } | { a: null; b: null }) => {
if (a !== null) {
console.log(b)
}
}
довольно занятная проблема. если коротко, то вот так const foo = (...args: [{ a: number; b: number }] | [{ a: null; b: null }]) => { if (args[0].a !== null) { console.log(args[0].b) } }
Обсуждают сегодня