SyntaxError: "0"-präfixierte Oktalliterale sind veraltet
Die JavaScript-Strict-Mode-spezifische Ausnahme "0-präfixierte Oktalliterale sind veraltet; verwenden Sie stattdessen das Präfix "0o"" tritt auf, wenn veraltete Oktalliterale (0
gefolgt von Ziffern) verwendet werden.
Meldung
SyntaxError: Octal literals are not allowed in strict mode. (V8-based) SyntaxError: Decimals with leading zeros are not allowed in strict mode. (V8-based) SyntaxError: Unexpected number (V8-based) SyntaxError: "0"-prefixed octal literals are deprecated; use the "0o" prefix instead (Firefox) SyntaxError: Decimal integer literals with a leading zero are forbidden in strict mode (Safari)
Fehlertyp
SyntaxError
nur im Strict-Mode.
Was ist schiefgelaufen?
Oktalliterale sind veraltet. Wenn Sie eine Dezimalzahl mit 0
präfixieren, ändern Sie sie tatsächlich in ein Oktalliteral, was überraschend sein kann. Die standardisierte Syntax verwendet eine führende Null gefolgt von einem lateinischen Buchstaben "o" in Klein- oder Großbuchstaben (0o
oder 0O
).
Führende Nullen sind immer verboten, selbst wenn die Schreibweise kein gültiges Oktalliteral ist (z. B. wenn die Schreibweise die Ziffern 8
oder 9
enthält oder einen Dezimalpunkt hat). Eine Zahl darf nur dann mit 0
beginnen, wenn diese 0
ihre Einerstelle ist.
Beispiele
"0"-präfixierte Oktalliterale
"use strict";
03;
// SyntaxError: "0"-prefixed octal literals are deprecated; use the "0o" prefix instead
Gültige Oktalzahlen
Verwenden Sie eine führende Null gefolgt vom Buchstaben "o" oder "O":
0o3;