JavaScript 中帶有前導零的數字會根據其格式以不同的方式解釋。
歷史演進
早期,前導零在JavaScript中表示八進位(基數 8),類似於十六進位(基數 16)的前導 0x。
10, 012, 0xA // 均表示十进制数 10
然而,在 ECMAScript 3 中,這種八進位表示被降級為可選擴展,並且十進制整數面量不能再帶有前導零(除非實現支援擴展)。
ES5 及之後的嚴格模式
在ES5 中的嚴格模式下,帶有前導零的十進製字面量不再被允許:
0 // 无效 NonZeroDigit DecimalDigits(opt) // 有效
ES6引入的新表示形式
ES6 引入了二進位和八進位字面量,前導符號分別為 0b 和0o:
儘管不再推薦,帶有前導零的八進位表示(即傳統八進製字面量)仍然可以在非嚴格模式下使用:
010 // 可能会被解释为 8 或 10,具体取决于实现
為了確保數字始終被解釋為十進制,建議移除前導零或使用parseInt 解析數字:
以上是JavaScript 數字中的前導零是如何解釋的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!