Вебсправочник
Справочник JavaScript

String.fromCodePoint(): строка из кодовых точек Unicode

String.fromCodePoint создаёт строку из одного или нескольких числовых значений Unicode. Метод поддерживает точки за пределами базовой многоязычной плоскости.

Назначение

String.fromCodePoint создаёт строку из одного или нескольких числовых значений Unicode. Метод поддерживает точки за пределами базовой многоязычной плоскости.

Как это работает

Аргументы должны после числового преобразования быть целыми значениями от 0 до 0x10FFFF. Для точки выше 0xFFFF результат занимает пару кодовых единиц UTF-16. Значения вне допустимого диапазона вызывают RangeError.

Пример

const smile = String.fromCodePoint(0x1F600);
console.assert(smile === "😀");
console.assert(smile.length === 2);
console.assert(String.fromCodePoint(65, 66) === "AB");
let rejected = false;
try { String.fromCodePoint(0x110000); } catch (error) { rejected = error instanceof RangeError; }
console.assert(rejected);
console.log(smile);

Что должно получиться

Получается эмодзи с длиной 2 в представлении UTF-16. Несколько аргументов объединяются в одну строку. Ошибка диапазона отделена от успешного создания символов.

Граница применения и частая ошибка

Не путайте числовую запись 0x1F600 со строкой "U+1F600": вторую нужно разбирать по явно выбранному формату. Допустимое число не гарантирует наличие видимого глифа в шрифте или готового пользовательского символа.

Самостоятельная проверка

Создайте строку из трёх кодовых точек, затем прочитайте их через итерацию и codePointAt. Добавьте дробный аргумент и обработайте ошибку. Не подставляйте неограниченный массив чисел без проверки размера.

Пример JavaScript проверяйте в собственном учебном файле или консоли своего проекта. Встроенная песочница справочника JavaScript не выполняет. Успешное выполнение в одной среде не гарантирует поддержку метода во всех браузерах.

Самостоятельный учебный материал. Техническая документация: первоисточник по теме ↗. Если результат отличается, проверьте код и версию браузера.