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
参考
/kawasima/データベース設計におけるNULL
NULLを細かく分類している
#WIP
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ってどういう状態の時になるの?となる
3値論理
4値論理
Edgar Frank Codd
true/false/unknown/ N/A
NULLを2つに分けて考える
未知を表すNULL
unknown
適切な値は存在するのだが、今は不明なのでNULLで代替
適用不能を表すNULL
N/A
適切な値がそもそも存在しない
http://nippondanji.blogspot.com/2013/11/blog-post.html?utm_source=pocket_mylist#:~:text=ように見える。-,NULL,-正規化の
nullいれない
/kawasima/データベース設計におけるNULL
「タプルまるごと」ってなんやねんmrsekut.icon
http://mickindex.sakura.ne.jp/database/db_3vl.html
http://mickindex.sakura.ne.jp/database/db_NaE.html
http://mickindex.sakura.ne.jp/database/db_getout_null.html
https://gihyo.jp/dev/serial/01/sql_academy2/000801
/mrsekut-book-4774183903/091 (1.2 文脈をプログラミングする)