変数セクションで見たように、任意のプリミティブ型または非プリミティブ型の値を変数に割り当てることができます。 JavaScriptには、特別な意味を持つ変数に割り当てることができるnullとundefinedの2つの追加のプリミティブ型の値が含まれています。
null
変数にnullを割り当てて、現在その変数に値がないが、後で値があることを示すことができます。 nullは、値がないことを意味します。
上記の例では、変数myVarにnullが割り当てられています。これは、変数を定義したが、まだ値を割り当てていないため、値が存在しないことを意味します。
たとえばdocument.getElelementByIDを使用してDOM要素を検索しようとすると、要素が見つかった場合はnullを返します。したがって、その要素で何かを行う前にnullをチェックすることをお勧めします。
null値は条件式でfalseと評価されます。したがって、null値をチェックするために===や!==などの比較演算子を使用する必要はありません。
undefined
UndefinedもJavaScriptのプリミティブ値です。変数またはオブジェクトには、使用する前に値が割り当てられていない場合の未定義の値。したがって、未定義は値の不足または不明な値を意味すると言えます。
上記の例では、「myVar」という名前の変数に値を割り当てていません。変数「myVar」には値がないため、未定義です。
あなたオブジェクトの存在しないプロパティまたはメソッドを呼び出すと、未定義の値が取得されます。
上記の例では、関数Sumは結果を返しませんが、結果の値を変数に割り当てようとします。したがって、この場合、結果は未定義になります。
関数呼び出しで渡す引数が少ない場合、そのパラメーターの値は未定義になります。
undefinedは、条件式で使用されるとfalseと評価されます。
nullおよびundefinedは、JavaScriptアプリケーションでランタイムエラーを生成する主な理由の1つです。これは、使用する前に不明な戻り変数の値をチェックしない場合に発生します。変数に常に何らかの値があるかどうかわからない場合は、使用する前に変数の値がnullまたは未定義かどうかをチェックすることをお勧めします。
- nullとundefinedはJavaScriptのプリミティブ値です。
- null値は不在を意味します。
- 未定義の値は値の欠如を意味します。
- nullまたは未定義の値は条件式でfalseに評価されます。