JavaScript defines an integer octal literal as follows.
OctalIntegerLiteral :: 0o OctalDigits 0O OctalDigits OctalDigits :: OctalDigit OctalDigits OctalDigit OctalDigit :: one of 0 1 2 3 4 5 6 7
As you can see, literals starting with 0, followed by a lowercase o or uppercase O , are integer octal literals.
The problem is that, for example, I could not use this literal in IE 11 regardless of the mode selected ("USE STRICT"). :) While in FireFox 42, this literal is successfully processed.
Also in JavaScript is defined the so-called LegacyOctalIntegerLiteral
LegacyOctalIntegerLiteral :: 0 OctalDigit LegacyOctalIntegerLiteral OctalDigit
In your case, this literal is used.
In the EcmaScript specification (6th edition) there is a remark that
If you’re looking at what you’re looking for in B.1.1, you’ll find out what you’re looking for.
However, as usual, each browser goes its own way. :)
08seems to be a mistake, isn't it? - VladD