BFE.devでのAI解答例 - JavaScript クイズ
9. null and undefined
出力結果は以下の通りです。
[1,2,null,3]
[1,2,null,3]
false
true
false
false
false
true
true
false
false
false
false
false
解説:
JSON.stringify([1,2,null,3])は[1,2,null,3]をJSON文字列に変換し出力します。JSON.stringify([1,2,undefined,3])は[1,2,null,3]をJSON文字列に変換し出力します。undefined値はJSON文字列に変換できないため、nullに変換されます。null === undefinedはfalseです。===演算子は厳密等価演算子で、型と値が両方とも等しいときにtrueを返します。null == undefinedはtrueです。==演算子は比較する値を自動的に型変換してから等価比較を行うため、nullとundefinedは同じものとして扱われます。null == 0はfalseです。nullは0との比較では常にfalseを返します。null < 0はfalseです。nullは0より小さくも大きくもないため、比較するとfalseを返します。null > 0はfalseです。nullは0より大きくも小さくもないため、比較するとfalseを返します。null <= 0はtrueです。nullは0以下という条件に正しく当てはまるため、比較するとtrueを返します。null >= 0はtrueです。nullは0以上という条件に正しく当てはまるため、比較するとtrueを返します。undefined == 0はfalseです。undefinedは0との比較では常にfalseを返します。undefined < 0はfalseです。undefinedは数値に変換できないため、比較するとfalseを返します。undefined > 0はfalseです。undefinedは数値に変換できないため、比較するとfalseを返します。undefined <= 0はfalseです。undefinedは数値に変換できないため、比較するとfalseを返します。undefined >= 0はfalseです。undefinedは数値に変換できないため、比較するとfalseを返します。