Semantics of "indexed" string access
Maciej Stachowiak
mjs at apple.com
Tue Jun 24 18:21:21 PDT 2008
On Jun 24, 2008, at 5:46 PM, Allen Wirfs-Brock wrote:
> I’ve taken a crack at cleaning up Pratap’s initial specification for
> supporting direct indexing of strings, eg “abc”[1] yields “b”
>
> Here are the semantics that seemed to make sense:
>
> s[n]
> 1) If s has an own property whose name is the same as the value of
> n, the value of that property is returned.
Since s is a string value, not an object, then it cannot have any own
properties. The autogenerated wrapper for s does have some own
propertied.
> 2) else If the value of n is convertible to a number that is within
> the bounds of the string value, return a string containing the
> corresponding character
> 3) else if try to resolve n as the name of an inherited property
> 4) else return undefined.
>
> In other words, indexing into a string with a “valid” index returns
> that appropriate character unless somebody has explicitly defined a
> property named by that index on the object.
It is not possible to define a custom property on a string value. On a
string object you could.
I would suggest it makes more sense to make index properties of a
string act like index properties of an array, but read-only.
Regards,
Maciej
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.mozilla.org/pipermail/es-discuss/attachments/20080624/fc6754c4/attachment-0002.html
More information about the Es4-discuss
mailing list