Zahlen mit führenden Nullen in JavaScript werden je nach Format unterschiedlich interpretiert.
Historische Entwicklung
Schon früh stellten führende Nullen in JavaScript Oktalzahlen (Basis 8) dar, ähnlich der führenden 0x für Hexadezimalzahlen (Basis 16).
10, 012, 0xA // 均表示十进制数 10
In ECMAScript 3 wurde diese oktale Darstellung jedoch zu einer optionalen Erweiterung herabgestuft, und dezimale Ganzzahlliterale dürfen keine führenden Nullen mehr haben (es sei denn, die Implementierung unterstützt die Erweiterung).
Strikter Modus in ES5 und höher
Im strikten Modus in ES5 sind Dezimalliterale mit führenden Nullen nicht mehr zulässig:
0 // 无效 NonZeroDigit DecimalDigits(opt) // 有效
ES6 Neue Darstellungen eingeführt
ES6 führt binäre und oktale Literale mit den führenden Symbolen 0b und ein 0o:
Traditionelles Oktalliteral
Obwohl nicht mehr zu empfehlen, mit Oktaldarstellungen mit führenden Nullen (d. h. traditionelle Oktalliterale) können weiterhin im nicht strikten Modus verwendet werden:
010 // 可能会被解释为 8 或 10,具体取决于实现
Best Practices
Um sicherzustellen, dass Zahlen immer vorhanden sind Als Dezimalzahl interpretiert, wird empfohlen, führende Nullen zu entfernen oder zu verwenden parseInt analysiert Zahlen:
parseInt('010', 8) // 返回 8 parseInt('010', 10) // 返回 10
Das obige ist der detaillierte Inhalt vonWie werden führende Nullen in JavaScript-Zahlen interpretiert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!