nullの表す意味
https://gyazo.com/75b1163e20283bd414d0dac121cff75a https://scrapbox.io/kawasima/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E8%A8%AD%E8%A8%88%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8BNULL
参考
NULLを細かく分類している
nullの表す意味ってかなり曖昧なのもある
雑にT | nullとすべきではない
例えば
値がない
まだfetchしてないので値がない?
そもそもDB上に値がない?404
初期値として使用
e.g. useRef<T | null>(null)
値がないと同じとほぼ同じ意味か
処理に失敗して、本来得られるべき値が得られていない
仮に、あるlibraryがstatusを返すとして、
そのstatusの型がboolean | nullだったとき、nullって何を表すの?になる
onlineかofflneかの情報を提供するisConnectedというのがあるが、
これの型はbooleanではなく、boolean | nullになっている
booleanは容易に推測できるが、nullってどういう状態の時になるの?となる
true/false/unknown/ N/A
NULLを2つに分けて考える
未知を表すNULL
unknown
適切な値は存在するのだが、今は不明なのでNULLで代替
適用不能を表すNULL
N/A
適切な値がそもそも存在しない
nullいれない
「タプルまるごと」ってなんやねんmrsekut.icon