`String.prototype.symbolAt()` (improved `String.prototype.charAt()`)

Allen Wirfs-Brock allen at wirfs-brock.com
Fri Oct 18 09:57:40 PDT 2013


On Oct 18, 2013, at 7:21 AM, Rick Waldron wrote:

> 
> 
> 
> On Fri, Oct 18, 2013 at 8:46 AM, Mathias Bynens <mathias at qiwi.be> wrote:
> ES6 fixes `String.fromCharCode` by introducing `String.fromCodePoint`.
> 
> Similarly, `String.prototype.charCodeAt` is fixed by `String.prototype.codePointAt`.
> 
> Should there be a method that is like `String.prototype.charAt` except it deals with astral Unicode symbols wherever possible?
> 
>     >> '𝌆'.charAt(0) // U+1D306
>     '\uD834' // the first surrogate half for U+1D306
> 
>     >> '𝌆'.symbolAt(0) // U+1D306
>     '𝌆' // U+1D306
> 
> I think the idea is good, but the name may be confusing with regard to Symbols (maybe not?)
> 

Given that we have charAt, charCodeAt and codePointAt,  I think the most appropiate name for such a method would be 'at':
     '𝌆'.at(0)

The issue when this sort of method has been discussed in the past has been what to do when you index at a trailing surrogate possition:

    '𝌆'.at(1)

do you still get '𝌆' or do you get the equivalent of String.fromCharCode('𝌆'[1]) ?

Allen

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20131018/59719172/attachment.html>


More information about the es-discuss mailing list