イムは、標準的な機能を比較すると、常にますisNaN関数に対して同様Javascriptを:常に標準の機能を比較すると、* falseを返す*
>isNaN === true
false
>isNaN === false
false
しかし
>Boolean(isNaN)
true
をブールfalse
を返す理由を理解しようとしています今、物事はもう少し面白くするために
>!isNaN === false
true
>!isNaN === true
false
これは、番号、オブジェクトなどの標準機能で発生します。
JavaScriptで何が起こっているのか分かりませんか?
を参照するには、以下をご参照ください。どちらの値も、比較する前に暗黙的に他の値に変換されません。そのオペランドがあるときに値が異なるタイプを持っている場合は、値がhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Equality_comparisons_and_sameness – Satpal
を参照してくださいunequal._考えられている '' ===のみtrueを返します同じタイプ。 '' 5 '!== 5'、 '0!== false'。 ( 'isNaN == true'も真ではありませんが、ブール値へのキャストと同じ振る舞いを期待する理由はありません。' 2 == true'では、 'true'を数値にキャストしますか?ブール値に '2'をつけていますか?) – Ryan