回答編集履歴
1
誤字修正
answer
CHANGED
@@ -15,7 +15,7 @@
|
|
15
15
|
|
16
16
|
話は変わりますが、オブジェクトの海にどんな物があるのでしょうか?まずは、数字です。`0`や`1`、`42`、`3.14`などが漂っています。他に、真偽値(`true`、`false`)や文字列(`"abc"`)、関数(`function() {}`)、配列(`[4, 2]`)などがあります。それらは何かしらの意味を持つ何かです。数字の`1`は私達が知っている1と同じような意味持ちますし、同様に数字の`0`もインド人が発明したとされる0と同じような意味を持っています。そう、`0`は0という数字であり、`1`が1という数字であること同じであり、それ以上の意味を持ちません。
|
17
17
|
|
18
|
-
このようにオブジェクトの海には何らかの意味を持つ物があるのですが、これでは不便なことがあります。**何の意味も持ち合わせてい
|
18
|
+
このようにオブジェクトの海には何らかの意味を持つ物があるのですが、これでは不便なことがあります。**何の意味も持ち合わせていない物**ということを表現したいときです。言い換えると**何らかの意味のある物では無い物**を表現したいときです。それが`null`です。
|
19
19
|
|
20
20
|
`null`もオブジェクトの海に漂う物体の一つです。しかし、他とは違い意味を持ちません。いや、正確には__意味を持たないという意味__を持っています。`var a = null;`となっていたとき、「a」は何なのでしょうか?変数は「名札」でした。つまり、「a」と言う名前の奴は何の意味も無い奴だ、ということです。そいつは、数字でもないので、`0`ではありません。ましてや、文字列でも、真偽値でもありません。なので、`""`のような空の配列という意味ある物でも、`false`のような偽である意味ある物でも決して無いのです。`null`は「虚無」であり、他のあらゆる全てとは一線を画していると言えます。
|
21
21
|
|