JSON.stringify and symbols

Jason Orendorff jason.orendorff at gmail.com
Mon Jun 30 11:37:50 PDT 2014

As specified in the latest draft:

1. JSON.stringify(symbol) returns undefined.

2. JSON.stringify([symbol]) returns "[null]".

3. JSON.stringify(object) skips any symbol-keyed properties on the object.

So far, so good, I guess. A little wonky maybe, but JSON doesn't have
symbols, so sure.

This struck me as funny though:

4. JSON.stringify(object) also skips symbol-valued properties.

That is, JSON.stringify({"x": Symbol()}) == "{}". I don't know that
there's anything more useful it should be doing instead. Thoughts?


More information about the es-discuss mailing list