Indexed string pseudo properties and for-in, was RE: Comments on April ES5 final draft standard tc39-2009-025

Mark S. Miller erights at google.com
Mon Apr 27 18:59:14 PDT 2009


On Mon, Apr 27, 2009 at 5:28 PM, Allen Wirfs-Brock
<Allen.Wirfs-Brock at microsoft.com> wrote:
> As currently specified, they are to be enumerated by for-in. This is intentional and I believe we discussed it at some past TC-39 meeting. If we are treating the string characters as indexible readonly properties then for-in-ing over them seems like a perfectly reasonable thing to do.  This is one of the advantages of using [[GetOwnProperty]] in this manner rather than trying to support direct string indexing using some other specification mechanism -- they just naturally integrate into property access anywhere it occurs in the specification.


I'm happy with that, so long as it's consistent with the definition of
for-in. However, the only relevant text I could find in for-in is

> Let P be the name of the next property of obj whose [[Enumerable]] attribute is true. If there is no such property, return (normal, V, empty).

Since these indexes are not actually properties of strings, this text
is insufficient.

-- 
    Cheers,
    --MarkM


More information about the es-discuss mailing list