Накратко
Индексът остава позиция в UTF-16 представянето на низа.
Полезно е да знаеш
codePointAt() връща Unicode кодовата точка на зададена позиция. При символ извън основната многоезична равнина методът може да прочете двойката UTF-16 единици, ако индексът сочи началото ѝ. [1]
Например "😀".codePointAt(0) е 128512. Това не означава, че всеки видим знак се състои от една кодова точка: комбинации от емоджи и диакритични знаци могат да бъдат по-сложни. За ограничаване на видими символи или движение на курсор е нужна преценка на графемите, а не просто увеличаване на числов индекс.
Източници
За повече подробности и проверка на информацията: