--- title: 'Warning: 08/09 is not a legal ECMA-262 octal constant' slug: Web/JavaScript/Reference/Errors/Bad_octal tags: - Error - Errors - JavaScript - SyntaxError - Warning translation_of: Web/JavaScript/Reference/Errors/Bad_octal ---
JavaScript の警告 "08 (or 09) is not a legal ECMA-262 octal constant" は、数値リテラルの
08
または 09
が使用されたときに発生します。これらは 8 進数として解釈することができません。
Warning: SyntaxError: 08 is not a legal ECMA-262 octal constant. Warning: SyntaxError: 09 is not a legal ECMA-262 octal constant.
警告です。 JavaScript の実行は停止しません。
10 進数リテラルは、ゼロ (0
) から始まり、その他の 10 進数の数字を続けることができますが、先頭の 0
の後の数字がすべて 8 より小さい場合、その数値は 8 進数として解釈されます。そのため、 08
や 09
はあり得ないため、 JavaScript はこれを警告します。
8 進数リテラルと 8 進エスケープシーケンスは非推奨であり、追加の非推奨警告が発生することに注意してください。 ECMAScript 6 以降では、ゼロで始まり小文字または大文字のラテン文字 "O" (0o
または 0O
) が続く構文が使用されます。詳細は、字句文法のページを見てください。
08; 09; // SyntaxError: 08 is not a legal ECMA-262 octal constant // SyntaxError: "0"-prefixed octal literals and octal escape sequences // are deprecated
先頭のゼロに続き "o" の文字を使用します。
0O755; 0o644;