Warning: 08/09 is not a legal ECMA-262 octal constant
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.
Message
Warning: SyntaxError: 08 is not a legal ECMA-262 octal constant.
Warning: SyntaxError: 09 is not a legal ECMA-262 octal constant.
Error type
Warning. JavaScript execution won't be halted.
What went wrong?
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
for more information.
Examples
Invalid octal numbers
08;
09;
// SyntaxError: 08 is not a legal ECMA-262 octal constant
// SyntaxError: "0"-prefixed octal literals and octal escape sequences
// are deprecated
Valid octal numbers
Use a leading zero followed by the letter "o";
0O755;
0o644;