When for...of iterates a string containing a character represented by one UTF-16 surrogate pair, how is that pair handled?
Explanation
String iteration advances by Unicode code point, so the two code units of a valid surrogate pair are delivered together for that code point. Treating every code unit as a separate iteration confuses for...of with direct UTF-16 indexing; a code point still need not equal a full grapheme.