5
A
答えて
4
NaN
は、プリミティブNumber値です。 1
、2
など
1
NaNはグローバルオブジェクトのプロパティです。
NaNの初期値は、Not-A-Numberです。これは、 Number.NaNの値と同じです。最新のブラウザでは、NaNは設定不可能な の書き込み不可能なプロパティです。そうでない場合でも、 を無効にしないでください。
プログラムでNaNを使用することは、まれです。 Math関数が失敗したとき(Math.sqrt(-1))、または を解析しようとしている関数が失敗したとき(parseInt( "blabla"))、戻り値 です。
8
それは原始的です。あなたはいくつかの方法で確認することができます。
typeof NaN
は「数」ではない与えます「オブジェクトを。」プロパティを追加すると、それが消えます。
NaN.foo = "hi"; console.log(NaN.foo) // undefined
NaN instanceof Number
はfalseを返します(ただし、数値なので、プリミティブでなければなりません)。
0/0
のような表現はNaN
に帰着する必要があるためNaNで、対象となるのは、本当に意味がありません、と数学演算は常にプリミティブになります。オブジェクトとしてNaNを使用することは、それが偽の値として機能しないことを意味し、場合によってはそうします。
NaNはNumberクラスのプロパティです – rsplak
'typeof NaN ==" number "' –
NaNはNULLに似ています。 あなたは、この[SOポスト]を参照することができます[1] [1]:http://stackoverflow.com/questions/559792/what-is-the-reserved-keyword-for-nan -in-javascript –