この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。
BFE.devでのAI解答例 - JavaScript クイズ
24. Equality & Sameness
以下が出力されます:
true
false
false
true
true
true
true
true
false
false
false
true
解説:
0 == '0'
はtrue
を返します。==
演算子は等値性チェックを行いますが、型変換を行うため0
と'0'
は等価と判断されます。0 === '0'
はfalse
を返します。===
演算子は厳密等価性チェックを行い、同じ型で同じ値である場合に限りtrue
となるため、数値型の0
と文字列型の'0'
は厳密には異なります。Object.is(0, '0')
はfalse
を返します。Object.is
メソッドは、厳密等価性チェックと同様に、同じ型で同じ値である場合に限りtrue
となるため、数値型の0
と文字列型の'0'
は厳密には異なります。0 == 0
はtrue
を返します。左右の式が同じ型の同じ値であるためです。0 === 0
はtrue
を返します。左右の式が厳密に同じ型で同じ値であるためです。Object.is(0, 0)
はtrue
を返します。左右の式が厳密に同じ型で同じ値であるためです。0 == -0
はtrue
を返します。JavaScript において、正のゼロと負のゼロは等価であると定義されています。0 === -0
はtrue
を返します。厳密等価性チェックにおいても、正のゼロと負のゼロは同じ型で同じ値であるためです。Object.is(0, -0)
はfalse
を返します。Object.is
メソッドにおいては、正のゼロと負のゼロは厳密に異なる値と定義されているためです。NaN == NaN
はfalse
を返します。NaN は自身を含めどの値とも等しくない特殊な値であり、NaN ==
演算子は常にfalse
を返します。NaN === NaN
もfalse
を返します。NaN は自身を含めどの値とも 厳密等価 でない特殊な値であるためです。Object.is(NaN, NaN)
はtrue
を返します。Object.is
メソッドは、NaN であっても自身との比較では等価であると定義されているためです。0 == false
はtrue
を返します。==
演算子は等値性チェックを行いますが、型変換を行うため0
とfalse
は等価と判断されます。0 === false
はfalse
を返します。===
演算子は厳密等価性チェックを行い、かつ型変換を行わないため、数値型の0
とブール型のfalse
は異なります。Object.is(0, false)
はfalse
を返します。Object.is
メソッドも厳密等価性チェックに準じるため、数値型の0
とブール型のfalse
は異なります。