The JavaScript warning "08 (or 09) is not a legal ECMA-262 octal constant" occurs when
08
or
09
number literals are used. They can't be interpreted as an octal number.
Warning: SyntaxError: 08 is not a legal ECMA-262 octal constant. Warning: SyntaxError: 09 is not a legal ECMA-262 octal constant.
Warning. JavaScript execution won't be halted.
Decimal literals can start with a zero (
0
) followed by another decimal digit, but If all digits after the leading
0
are smaller than 8, the number is interpreted as an octal number. Because this is not the case with
08
and
09
, JavaScript warns about it.
Note that octal literals and octal escape sequences are deprecated and will present an additional deprecation warning. With ECMAScript 6 and later, the syntax uses a leading zero followed by a lowercase or uppercase Latin letter "O" (
0o
or
0O)
. See the page about
lexical grammar
了解更多信息。
08; 09; // SyntaxError: 08 is not a legal ECMA-262 octal constant // SyntaxError: "0"-prefixed octal literals and octal escape sequences // are deprecated
Use a leading zero followed by the letter "o";
0O755; 0o644;