const foo = () => { interface aryType {id: number, value?: unknown} const ary: aryType[] = [{id: 1, value: "値1"}] const possibleNull: aryType | undefined = ary.find(e => e.id === 1) // この時点ではpossibleNullは`aryType | undefined`型扱い if (!possibleNull) return // このif文より下は、possibleNullは`aryType`扱いとなる(undefinedが消える) // undefinedの可能性は消えたため、そのまま呼び出してもエラーにならない console.log(possibleNull.id ** 10) } foo()