Early error on '0' followed by '8' or '9' in numeric literals does not seem to be web-compatible
allen at wirfs-brock.com
Wed Aug 6 12:14:34 PDT 2014
On Aug 6, 2014, at 12:02 PM, Chris Peterson wrote:
> > On Aug 5, 2014, at 11:13 AM, Allen Wirfs-Brock <allen at wirfs-brock.com> wrote:
> > I think this is more or less the strategy we should follow.
> > All browsers in all modes apparently interpret leading 0 numbers that contain the digits "8" or "9" as decimal literals. We should make that part of the base language for ES6.
> > The ES6 base language should make leading 0 numbers containing only octal digits ("1"-"7") syntactically illegal.
> If the intent is to eventually permit leading 0 numbers as decimal literals, why forbid unambiguous numbers like `01`–`07` in the meantime?
It could be done, but it would be a more complicated specification. I still waiting for somebody to step up and volunteer to write a first draft of a spec. update.
> Many of the websites broken by Firefox's new DecimalIntegerLiteral error are processing dates like `new Date(2014, 08, 06)`. Permitting `00`–`09` (with any number of leading zeros) but forbidding ambiguous `01234567` would be forward-compatible with your plan to eventually permit leading zeros while not breaking websites using Dates today.
> Whether `01234568` would be permitted as decimal 1234568 is a subtler question.
> es-discuss mailing list
> es-discuss at mozilla.org
More information about the es-discuss