Allen Wirfs-Brock wrote:
JSON.parse("[010]")
should be an error, per spec. Nobody follows the spec though...
As I read them neither the RFC or the current ES5 JSON grammar recognize "[010]" as a
valid JSON form, so according to the ES5 spec. a syntax error should be thrown. If we really want
all implementation to accept "010" as a JSONNumber then we should specify it as such. Of
course we have to define what it means (decimal, octal??).
My inclination would be to require ES5 implementation to exactly conform the
whatever JSON grammar we provide and to throw syntax errors if the input
doesn't exactly conform to the grammar. (in other say that the section 16
extension allowance doesn't apply to JSON.parse. If an implementation wants to
support JSON syntax extensions it could always do so by providing a
JSON.parseExtended function (or whatever they want to call it) that uses an
implementation defined grammar.
I agree. It is not helpful to developers to allow weird forms on browser A but
not on browser B. What should be allowed is clearly described in the E5 spec.
_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss