Führt 0
für ein numerisches Literal aus, gibt an, dass eine oktale Ganzzahl die Absicht ist, wenn die zweite Ziffer nicht 8
oder 9
ist. In diesem Fall wird das führende 0
ignoriert.
Da numerische oktale Literale Ganzzahlen sein müssen, ist 02.5
fehlerhaft.
Dieses Verhalten wurde 2014 als Fehler in Firefox protokolliert, aber da es so viel JavaScript-Code in der Welt gibt und so viel davon (wahrscheinlich unbeabsichtigt) darauf beruht, dass 09.3
kein Syntaxfehler ist, wurde der Fehler als "markiert" markiert. WONTFIX ".
Wie in einem Kommentar unten erwähnt, sind im "strikten" Modus Oktalkonstanten nicht erlaubt.
Eine führende Null gibt eine oktale (Basis 8) Zahl an (im Gegensatz zu einer dezimalen - Basis 10 - Zahl).
Ein führender 0x zeigt eine Hexadezimalzahl und ein führender 0b eine Binärzahl an.
Daher ist 09.3 standardmäßig dezimal, da die Ziffer "9" nicht in Oktalschreibweise existiert.
Edit (create Evan Trimboli, unten): 02.5 löst eine Exception aus, da oktale Literale Integer sein müssen.
Es ist spät für diese Antwort, aber immer noch ein Update von meiner Seite. Wie von Pointy im strikten Modus gesagt, ist die Oktalkonstante nicht erlaubt.
%Vor%löst eine Ausnahme aus
%Vor% Auch wenn wir die zweite Ziffer als 8
oder 9
hinzufügen, sind die führenden 0
in strict mode
Es löst auch eine Ausnahme aus
%Vor%Es ergab auch keinen Sinn, weil die führenden Nullen dieselben Werte ohne führende Nullen haben. Aber es muss vorsichtig sein, wenn Sie die Werte von der anderen Seite erhalten.
Tags und Links javascript numbers leading-zero