<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Oct 18, 2013, at 7:21 AM, Rick Waldron wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Oct 18, 2013 at 8:46 AM, Mathias Bynens <span dir="ltr"><<a href="mailto:mathias@qiwi.be" target="_blank">mathias@qiwi.be</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; ">ES6 fixes `String.fromCharCode` by introducing `String.fromCodePoint`.<br>
<br>
Similarly, `String.prototype.charCodeAt` is fixed by `String.prototype.codePointAt`.<br>
<br>
Should there be a method that is like `String.prototype.charAt` except it deals with astral Unicode symbols wherever possible?<br>
<br>
    >> '𝌆'.charAt(0) // U+1D306<br>
    '\uD834' // the first surrogate half for U+1D306<br>
<br>
    >> '𝌆'.symbolAt(0) // U+1D306<br>
    '𝌆' // U+1D306<br></blockquote><div><br></div><div>I think the idea is good, but the name may be confusing with regard to Symbols (maybe not?)</div><div><br></div></div></div></div></blockquote><br></div><div>Given that we have charAt, charCodeAt and codePointAt,  I think the most appropiate name for such a method would be 'at':</div><div>     '𝌆'.at(0)</div><div><br></div><div>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:</div><div><br></div><div>    '𝌆'.at(1)</div><div><br></div><div>do you still get '𝌆' or do you get the equivalent of String.fromCharCode('𝌆'[1]) ?</div><div><br></div><div>Allen</div><div><br></div></body></html>