Javaのnullのように、特別な値を言語側が提供しなくても、一定の約束事(0をNULLとするなど)を決めることで対応できるのです 逆にいえば、約束事を決めておいてでも、“何もない値"を使う必要があったわけです。 「何もない」を表現する必要性とは? 値を格納する箱に名前を付けるもの、あるいは値を束縛するために必要な物が変数。 変数は基本的には何かの値とひも付いている物であり、逆に値とひも付かない変数があってもよいのでは? これこそが「null」が必要とされた理由です。 ネット検索に例えて考えてみる 極端な例でいうならば、とあるキーワードをネットで検索した場合、 キーワードに該当するサイトやページがヒットすれば検索サイトはその該当するページを一覧で返してくれますが、 もしキーワードに該当するページが無かった場合、何の反応もしないわけにはいきませんから システムエラー画面ではなく「何もなかった
![ときどきWEB | JavaScriptのnullとundefinedの区別と使い分けをまとめてやんよ](https://cdn-ak-scissors.b.st-hatena.com/image/square/40c74b5daa47e94311f190dc7a88133a022de030/height=288;version=1;width=512/http%3A%2F%2Ftokidoki-web.com%2Fwp-content%2Fthemes%2Fyanyo%2Fimages%2Flogo.png)