ES Decimal Status

Brendan Eich brendan at mozilla.org
Wed Sep 24 08:55:31 PDT 2008


On Sep 24, 2008, at 8:41 AM, Michael wrote:

> Maciej wrote:
>
> “I'm not sure what you are getting at. a[1] and a[1.000] refer to the
> same property in ECMAScript, but a[1m] and a[1.000m] would not. Are
>
> you saying this isn't a problem?”
>
> This is not quite true as you can see here:
>
> var a = [];
>
> a[1] = "foo";
>
> a[1.00] = "bar";
>
>
>
> WScript.Echo("length: "+a.length + "\n["+ a.join()+"]")
>
> --------------------------------------------
>
> length: 2
>
> [,bar]
>

This shows that a[1] and a[1.00] refer to the same property as Maciej  
said (a[1.000] also refers to a[1]).

What "This" did you mean "is not quite true"?

The issue is not how a value is spelled using a literal. It's that  
decimal as proposed remembers its "scale" based on its spelling, and  
scale affects toString() result. That's different from the case with  
number (double) in JS today.

/be

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.mozilla.org/pipermail/es-discuss/attachments/20080924/efa6ab71/attachment.html 


More information about the Es-discuss mailing list