Hi Luke,

For String.prototype.toArray, I didn't propose different behavior. The part of 
my message that you omitted continues "The function should be named to clearly 
indicate that it returns an array of UTF-16 code units. This also allows us to 
offer a parallel function that returns an array of code points."

How about toCharArray, seeing that we already have String.prototype.charAt, 
which returns a string with a UTF-16 code unit?

As to the element type, "length 1 string with a single 16-bit unsigned value" 
would be clearer than (and, at least to me, different from) "character".

Thanks,
Norbert


On Nov 17, 2011, at 13:28 , Luke Hoban wrote:

>>> 1) String.prototype.reverse(), as proposed, corrupts supplementary 
>>> characters.
> 
> It was agreed at the meeting yesterday that this concern is significant 
> enough, and reverse does not have sufficiently compelling use cases, so 
> should not be included.  
> 
>>> 2) String.prototype.toArray(), as proposed, breaks up the surrogate pairs 
>>> representing supplementary characters and returns each UTF-16 code unit 
>>> separately.
> 
> This behaviour is consistent with the rest of the Array.prototype functions, 
> and we shouldn't diverge on a case by case basis.  We may separately want to 
> consider a set of String APIs that do recognize Unicode characters instead of 
> code units, but that would be a separate Strawman to pursue.
> 
>>> 3) String.prototype.toArray() ... fills the array with elements defined as 
>>> "the character at position n in S", which according to clause 6 would mean 
>>> 16-bit unsigned values. It seems there needs to be a conversion to the 
>>> intended type of the elements.
> 
> The resulting array will contain those same "characters", which will each be 
> length 1 strings with a single 16-bit unsigned value.
> 
> Luke

_______________________________________________
es-discuss mailing list
[email protected]
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to