console.log(Infinity/0) // Infinity
しかし
console.log(Infinity/Infinity) // NaN
というのが私のコードで見ることができます私は理由は数学であると仮定することができますが、私はJSに関連する説明を見つけることができません。
誰かが私にいくつかの記事を指摘できますか?
console.log(Infinity/0) // Infinity
しかし
console.log(Infinity/Infinity) // NaN
というのが私のコードで見ることができます私は理由は数学であると仮定することができますが、私はJSに関連する説明を見つけることができません。
誰かが私にいくつかの記事を指摘できますか?
ここin the specそれは言う:分裂の
結果が無限にゼロ結果によってIEEE 754無限の算術
部門の仕様によって決定されます。記号は既に上記のルールによって決定されます。
と
のNaNに無限の結果によって無限の部門。
これはそのとおりです。それはなぜそれをするのですか? IEEE 754またはこのWikipedia page on IEEE floating pointを読んでください。
NaN
は、演算結果が数学的に定義されていない値をとる場合には、それ自体でさえない.itが使用される特殊なケースです。
例:
console.log(NaN === NaN); // false
console.log(0/0); // NaN
Javascriptが算術演算を行うためのIEEE 754仕様に従います。 This tableは無限大の算術ルールを示します。
これは多分何かですか? Read:http://www.2ality.com/2012/02/nan-infinity.html – Jer
Joeの答えに加えて、数学的にも意味があります。無限プラス、マイナス、乗算、定数で割った値は無限大です。無限大はそれ自体で分割され、定義されていません。 – element11