The default bug view has changed. See this FAQ.

JSON.parse() should throw a SyntaxError, not a TypeError

RESOLVED FIXED in mozilla6

Status

()

Core
JavaScript Engine
--
minor
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: Waldo, Assigned: Waldo)

Tracking

Trunk
mozilla6
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 attachment)

JSON.parse doesn't care how many arguments it's called with, because it just assumes they're there (and gets undefined for any arguments that aren't, as with all spec methods).  So JSON.parse() is JSON.parse(undefined) which throws a SyntaxError, not a TypeError for not enough arguments.

This is the last spec incompatibility in JSON.parse that I'm aware of.  (Walk has some cruft to it, but I don't think any of it is spec-incompatible cruft, although it's possible I'm mistaken on the point.)
Created attachment 529216 [details] [diff] [review]
Patch and test
Attachment #529216 - Flags: review?(pbiggar)

Comment 2

6 years ago
Comment on attachment 529216 [details] [diff] [review]
Patch and test

Review of attachment 529216 [details] [diff] [review]:

+1 for the spec step comments.
Attachment #529216 - Flags: review?(pbiggar) → review+
http://hg.mozilla.org/tracemonkey/rev/c35425fb6956
Whiteboard: fixed-in-tracemonkey
cdleary-bot mozilla-central merge info:
http://hg.mozilla.org/mozilla-central/rev/c35425fb6956
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.