to sanitize, I would say, is the very first use case where if str.length != str.points something might require a fix.<div><br></div><div>A utf-8 friendly "number of allowed chars", as it would be the twitter case, is another example.</div>
<div><br></div><div>A split able to represent codePoints rather than chars would need points number too ... the fact developers are already asking for a way to obtain these codePoints should also indicate the feature might be needed.</div>
<div><br></div><div>Thoughts?</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Nov 30, 2012 at 1:06 PM, Phillips, Addison <span dir="ltr"><<a href="mailto:addison@lab126.com" target="_blank">addison@lab126.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="EN-US" link="blue" vlink="purple"><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">One question would be what youíd want that specific number for? The number of code points in a string is only marginally interesting in a script. It doesnít, for example, tell you how many screen positions the text consumes (thatís the grapheme count).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u>†<u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Norbertís proposal [1] includes an iterator over the code points (so counting the code points is straightforward, but not a property of the string itself, or at least I donít see it anywhere).<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u>†<u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Addison<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u>†<u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">[1] <a href="http://norbertlindenberg.com/2012/05/ecmascript-supplementary-characters/index.html" target="_blank">http://norbertlindenberg.com/2012/05/ecmascript-supplementary-characters/index.html</a><u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u>†<u></u></span></p><div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div><div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in"><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Andrea Giammarchi [mailto:<a href="mailto:andrea.giammarchi@gmail.com" target="_blank">andrea.giammarchi@gmail.com</a>] <br>
<b>Sent:</b> Friday, November 30, 2012 12:39 PM<br><b>To:</b> Mathias Bynens<br><b>Cc:</b> es-discuss<br><b>Subject:</b> Re: How to count the number of symbols in a string?<u></u><u></u></span></p></div></div><div><div class="h5">
<p class="MsoNormal"><u></u>†<u></u></p><p class="MsoNormal">already raised a while ago ...<u></u><u></u></p><div><p class="MsoNormal"><u></u>†<u></u></p></div><div><p class="MsoNormal"><a href="https://jp.twitter.com/WebReflection/status/260479508912685056" target="_blank">https://jp.twitter.com/WebReflection/status/260479508912685056</a><u></u><u></u></p>
</div><div><p class="MsoNormal"><u></u>†<u></u></p></div><div><p class="MsoNormal">no answer, if I remember correctly Brendan said that .size() or .size is not a good name but I have suggested .points too and nobody came back on this<u></u><u></u></p>
</div><div><p class="MsoNormal" style="margin-bottom:12.0pt"><u></u>†<u></u></p><div><p class="MsoNormal">On Fri, Nov 30, 2012 at 12:33 PM, Mathias Bynens <<a href="mailto:mathias@qiwi.be" target="_blank">mathias@qiwi.be</a>> wrote:<u></u><u></u></p>
<p class="MsoNormal">ECMAScript 6 introduces some useful new features that make working with astral Unicode symbols easier.<br><br>One thing that is still missing though (AFAIK) is an easy way to count the number of symbols / code points in a given string. As you know, we canít rely on `String.prototype.length` here, as a string containing nothing but an astral symbol has a length of `2` instead of `1`:<br>
<br>> var poo = '\u{1F4A9}'; // U+1F4A9 PILE OF POO<br>> poo.length<br>2<br><br>Of course itís possible to write some code yourself to loop over all the code units in the string, handle surrogate pairs, and increment a counter manually for each full code point, but thatís a pain.<br>
<br>It would be useful to have a new property on `String.prototype` that would return the number of Unicode symbols in the string. Something like `realLength` (of course, it needs a better name, but you get the idea):<br>
<br>> poo.realLength<br>1<br><br>Another possible solution is to add something like `String.prototype.codePoints` which would be an array of the numerical code point values in the string. That way, getting the length is only a matter of accessing the `length` property of the array:<br>
<br>> poo.codePoints<br>[ 0x1F4A9 ]<br>> poo.codePoints.length<br>1<br><br>Or perhaps this would be better suited as a method?<br><br>> poo.getCodePoints()<br>[ 0x1F4A9 ]<br>> poo.getCodePoints().length<br>1<br>
<br>Has anything like this been considered/discussed here yet?<br>_______________________________________________<br>es-discuss mailing list<br><a href="mailto:es-discuss@mozilla.org" target="_blank">es-discuss@mozilla.org</a><br>
<a href="https://mail.mozilla.org/listinfo/es-discuss" target="_blank">https://mail.mozilla.org/listinfo/es-discuss</a><u></u><u></u></p></div><p class="MsoNormal"><u></u>†<u></u></p></div></div></div></div></div></div></blockquote>
</div><br></div>