2017-03-07 13 views
0

まあ、私はMozillaのJavaScriptのリファレンスを通過して、それを見つけています。..Javascript - なぜisNaN(1 + null)がfalseを返すのですか?

isNaN(1 + null) //false 
isNaN(1 + undefined) //true 

私はこの背後にある理由を理解することはできませんよ。 https://www.w3schools.com/js/js_type_conversion.aspから

+0

'+ null === 0'、' + undefined === NaN' – elclanrs

+0

'1 + null'の値だけを印刷しようとしましたか?それが基本的な理由です。 – JJJ

答えて

6

は、nullnumberに変換されるとき、それはしたがって0となる、1 = 0 + 1、それが有効な数値なので、isNaN戻るfalse

undefinedをNumberに変換すると、NaNになります。 Any Number + NaN = NaNですので、isNaNがtrueを返します。

+5

Upvoted、w3schoolの代わりに、より正確なものを参照することができます:https://www.ecma-international.org/ecma-262/6.0/#sec-tonumber –

+0

@nikiこれを説明してくれてありがとう。 –

関連する問題