Early error on '0' followed by '8' or '9' in numeric literals does not seem to be web-compatible

Allen Wirfs-Brock 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
> https://mail.mozilla.org/listinfo/es-discuss

More information about the es-discuss mailing list