C# は知らないのでどう伝えるべきか迷いますが…、簡単に説明すると次のようになります。 ・undefined … 未定義 ・null … 値が存在するが falsy な値 JavaScript は型付けの緩い言語といわれますが、ある変数を定義したときその変数に格納される型を統一するのが一般的です。 --- var number = 1; // Number型の値を代入 number = -1; // 不要になったので falsy な値を入れる (ex: 0, -1, NaN等) --- では、Object型はどうなるでしょうか。 ネイティブ実装されている関数は返り値の型に統一性があります。 Number型を返す関数なら必ずNumber型を返しますが、Object型を返す関数には二通りがあります。 --- var p = document.getElementsByTagName('p');
![JavaScriptのnullはいつ使う? - OKWAVE](https://cdn-ak-scissors.b.st-hatena.com/image/square/a3202632a5b19efa6d7dbcca644fc13bfa3453dc/height=288;version=1;width=512/https%3A%2F%2Fgazo.okwave.jp%2Fokwave%2Fspn%2Fimages%2Flogo%2Ffacebook_okwave.jpg)