Code point iteration
Returning numbers instead of strings
let position = 0;
while (position < string.length) {� const codePoint = string.codePointAt(position);� position += codePoint <= 0xFFFF ? 1 : 2;� doSomething(position, codePoint);
// note: `position` === code unit offset�}
for (const symbol of string) {� const codePoint = symbol.codePointAt(0);� doSomething(codePoint);
// no `position` (i.e. code unit offset)�}
for (const codePoint of string.codePoints()) {� doSomething(codePoint);
// no `position`�}
for (const { position, codePoint } of string.codePointEntries()) {� doSomething(position, codePoint);�}
Stage 1?