SyntaxError: "0"-vorangestellte Oktalzahlen sind veraltet

Die Ausnahme im Strict-Modus von JavaScript "0-vorangestellte Oktalzahlen sind veraltet; verwenden Sie stattdessen das Präfix "0o"" tritt auf, wenn veraltete Oktal-Literale (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

Was ist schiefgelaufen?

Oktal-Literale sind veraltet. Wenn Sie einem Dezimalzahlwort eine 0 voranstellen, ändern Sie es tatsächlich in ein Oktal-Literal, was überraschend sein kann. Die standardisierte Syntax verwendet eine führende Null, gefolgt von einem kleinen oder großen lateinischen Buchstaben "O" (0o oder 0O).

Führende Nullen sind immer verboten, selbst wenn das Literal keine gültige Oktal-Syntax darstellt (wie zum Beispiel, wenn das Literal die Ziffern 8 oder 9 enthält oder einen Dezimalpunkt hat). Eine Zahl darf nur mit 0 beginnen, wenn diese 0 die Einerstelle ist.

Beispiele

"0"-vorangestellte Oktalzahlen

js
"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":

js
0o3;

Siehe auch