On Dec 1, 2012, at 8:14 AM, Jason Orendorff wrote:

> 1. The current draft spec has Array.prototype.@@iterator() behaving like 
> .values(), so:
> 
>     for (x of ["a"])
>         print(x);
> 
> would print the pair ["0", "a"].
> 
> The proposal had Array iterators producing values only by default. Why the 
> change?
> 
> (It seems like it could be a typo, or it could be motivated by a desire for 
> consistency across all collections. If the latter, Map should change, not 
> Array.)

Note, there is a margin note on of 15.4.4.26 that hi-lites "items" and  says 
"Or should this be values".  There are a lot of notes like this in the draft.  
They are requests for knowledgable reviews to check spec. language that  is 
uncertain for some reason.   
> 
> 2. According to 15.4.6.2.2, the iterators produced by Array.prototype.keys 
> and .items will expose the index values as strings. Why strings? Don't 
> numbers make more sense?
> 

It does that because array index keys are exposed as strings everywhere else.

There is no specific definition (that I can find) of the keys iterator for 
arrays in the wiki proposal.  There is only the general @iter.keys function 
which is defined in terms of for-in and hence returns string property keys.

However, I don't have any objection to return integer keys in this case.

Allen


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

Reply via email to