NaN 之謎:為什麼它在 Typeof 中返回「Number」?
儘管它的名字是「Not a Number」(NaN) ),這個神祕的值屬於數字類型的範疇。這種特殊的行為可以歸因於 JavaScript 數字資料的內部表示。
NaN 表示超出數字類型限制的特定值。雖然所有數字(包括需要捨入的數字)可能面臨類似的約束,但 NaN 由於其特定的指定而構成了一種獨特的情況。
當考慮涉及 NaN 的比較時,NaN 作為數字類型的明顯矛盾變得更加有趣。與預期相反,不同的 NaN 值被視為不同的,導致它們即使與自身相比也被認為是不平等的。
為了進一步澄清,JavaScript 將比較分為「訊號」或「非訊號」。當涉及 NaN 時,訊號比較會引發異常,而非訊號比較只會回傳 false。這種差異在等式和不等式測試中很明顯,其中如果 x 是“安靜的 NaN”,則 x == x 的計算結果為 false。
最終,NaN 分類為數字類型的基本原理及其在比較中的獨特行為歸結為 JavaScript 的底層數字表示及其對區分不同 NaN 值的承諾。理解這些細微差別對於有效的 JavaScript 程式設計至關重要,使開發人員能夠了解資料類型和比較的複雜性。
以上是為什麼 JavaScript 的 NaN 在 `typeof` 中回傳「Number」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!