TypeScript 4.8 から変わる unknown の動き
unknown はすべての型を包括しています。
そして、{} は null と undefined 以外のすべての型を指します。
つまり、null | undefined | {} はすべての型を指すので理論上は unknown です。
しかし、以下のように unknown を null | undefined | {} へ割り当てようとすると、これまではエラーになりました。
const myFunc = (x: unknown) => {
const a: null | undefined | {} = x
}
しかし、4.8 以降はこれがエラーになりません。
unknown の型がより直感的になります。
ただ、そこまで使いどころはないんじゃないかなと思っています。
最近のコメント