--- title: 'SyntaxError: "x" is not a legal ECMA-262 octal constant' slug: Web/JavaScript/Reference/Errors/Bad_octal tags: - Errors - JavaScript - Strict Mode - SynataxError - Warning translation_of: Web/JavaScript/Reference/Errors/Bad_octal ---
Warning: SyntaxError: 08 is not a legal ECMA-262 octal constant. Warning: SyntaxError: 09 is not a legal ECMA-262 octal constant.
strict モード でのみ、{{jsxref("SyntaxError")}} の警告が出ます。
小数リテラルは、そのほかの十進数が続くゼロ(0
)から開始できますが、先頭の 0
以降の数値がすべて 8 以下の場合、数値は八進数として解釈されます。それゆえ、 08
や 09
はあり得ないため、JavaScript はこれを警告します。
八進数リテラルと八進数エスケープシーケンスは非推奨であり、追加の非推奨警告が発生することに注意してください。ECMAScript 6 以降では、小文字または大文字のラテンリテラル "O"(0o
か 0O
)が続くゼロ始まりの構文が使用されます。詳細は、lexical grammar のページを見てください。
08; 09; // SyntaxError: 08 is not a legal ECMA-262 octal constant // SyntaxError: octal literals and octal escape sequences are deprecated
"o" の文字が続くゼロを使用します。
0O755; 0o644;