null
私はJavaScriptを数年間使用しており、以前との違いを気にすることはありませんでしundefined
た。私は常にundefined
オブジェクトの存在を検証するために使用します。
しかし最近、私はこの記事に出くわしました。ここで彼らは言った
JavaScriptは、意図的な非値を示す「object」型のオブジェクトであるnullと、初期化されていない値を示す「undefined」型のオブジェクトであるundefinedを区別します。つまり、値はまだ設定されていません。まだ割り当てられています。変数については後で説明しますが、JavaScriptでは、値を割り当てずに変数を宣言することができます。これを行うと、変数の型は未定義になります。
私は今完全に混乱しています、ここで正確に価値のないものは何ですか。この非値がとどのように異なるかundefined
。そして、javascriptが返す状況は何ですかnull
。
以下のサンプルを試してみました
var sam;
alert(sam); // returns undefined
と
try {
//var sam;
alert(sam);
} catch(ex) { } // exception says: sam is undefined
そして、jsがいつnullを返すかはわかりません。誰かが私を明確にすることができますか?