Рубрики
Без рубрики

Строковый метод codePointAt()

Узнайте все о методе JavaScript codePointAt() строки

Это было введено в ES2015 для обработки символов Юникода, которые не могут быть представлены одной 16-разрядной единицей Юникода, но вместо этого требуется 2.

Используя charCodeAt() вам нужно извлечь первый и второй и объединить их. Используя codePointAt() , вы получаете весь символ за один вызов.

Например, этот китайский иероглиф “ஷ” состоит из 2 частей UTF-16 (Unicode):

"𠮷".charCodeAt(0).toString(16) //d842
"𠮷".charCodeAt(1).toString(16) //dfb7

Если вы создадите новый символ, объединив эти символы юникода:

"\ud842\udfb7" //"𠮷"

Вы можете получить тот же результат, используя codePointAt() :

"𠮷".codePointAt(0) //20bb7

Если вы создадите новый символ, объединив эти символы юникода:

"\u{20bb7}" //"𠮷"

Подробнее о Юникоде и работе с ним в Юникоде и UTF-8.

Оригинал: “https://flaviocopes.com/javascript-string-codepointat/”