宣言されていない変数が使用された場合、宣言されていても値が割り当てられていない変数が使用された場合、または存在しないオブジェクトのプロパティが使用された場合は、この値が返されます。
未定義と null は同じではありませんが、
のように == 演算子は 2 つを等しいものとして扱います。my.prop == null
属性 prop が存在しないか、存在しても値が null の場合、この式の値は true になります。
未定義の値がブール環境で使用される場合は false に変換され、数値環境で使用される場合は NaN に変換され、文字列環境で使用される場合は " に変換されます。未定義"