On 2018-03-19 02:37, Anders Rundgren wrote:
On 2018-03-19 02:33, Michał Wadas wrote:
Fact: JSON allows arbitrary precision numbers.
Problem: JavaScript is unable to express these numbers.

Proposed solution: introduce JSON.safeParse. This method will work as 
JSON.parse, but throwing on values that can't be accurately represented by IEEE 
754 64-bit float.

Alternative: allow user to specify number class - eg. by adding options object with 
optional method "parseNumber", overwriting default behaviour of using builtin 
number type.

Any thoughts on this?

Yes, it is a SUPERBAD idea.

Pardon my unnecessary dismissive response. A more constructive response would 
be:

This is "approximately" the de-facto standard for dealing with BigNums and tons 
of other non-standard types.

var obj = JSON.parse("JSON formatted data");
var val = new BigNum(obj.sizeOfTheUniverseInCubicMeters);

JSON on the wire:
{
  "sizeOfTheUniverseInCubicMeters": "3.45e+445454545454545776767676676"
}

When TC-39 introduces BigNums in ES, this is the most likely way they will 
address this particular aspect.

Anders



Anders


_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss



_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to