JavaScript 中的 0 和 -0 相同嗎?
儘管 ECMAScript 5.1 規範中做出了區分,但 0 和 -0 的計算結果是在 JavaScript 中使用嚴格相等為 true。
為什麼this?
JavaScript 以 IEEE 754 標準進行數值表示。根據該標準,有符號零可以以兩種形式存在:0(正零)和-0(負零)。然而,除以 0 或 -0 分別會得到 ∞ 和 -∞,而不是未定義。
從技術上講,0 和 -0 之間的區別至關重要。然而,JavaScript 在其嚴格相等演算法中提供了一個例外。第 11.9.6 節明確指出,在嚴格相等比較中,0 和 -0 被視為相等。
此異常與將 0 和 -0 視為等效的邏輯概念一致。此外,它無需在程式碼中考慮這種區別,從而簡化了開發。
注意:
ES2015 引入了 Object.is 作為新的比較方法。與鬆散和嚴格相等運算符不同,Object.is 明確區分 0 和 -0:
Object.is(-0, +0); // false
以上是JavaScript 中 0 和 -0 被視為相等嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!