Thoughts on IEEE P754

David Jones drj at ravenbrook.com
Fri Aug 22 09:26:06 PDT 2008


On 22 Aug 2008, at 15:22, Jason Orendorff wrote:

> On Fri, Aug 22, 2008 at 6:22 AM, Sam Ruby <rubys at intertwingly.net>  
> wrote:
>> On Fri, Aug 22, 2008 at 2:30 AM, Jason Orendorff
>> <jason.orendorff at gmail.com> wrote:
>>>  var a = [];
>>>  a[0] = "first";
>>>  a[0.0m] = "second";   // a second property?
>>>  a[0.000m] = "third";   // a third?
>>
>> [...]
>>
>> It seems to me that if trailing zeros are retained in a call to
>> ToString, then to be consistent with ES3, the three assignments above
>> would produce three properties.  And if trailing zeros are lost, you
>> would expect to only have one.  Both approaches are internally
>> consistent, and it surprises me to see either one characterized as
>> "breaking" array lookup.
>
> Well, the intuition is that two equal numbers should index the same
> property.  This is an invariant in ES3 and it makes a lot of sense.

It's not quite an invariant in ES3.  See my earlier message on the  
subject:

https://mail.mozilla.org/pipermail/es-discuss/2008-July/006627.html

drj


More information about the Es-discuss mailing list