Этот метод возвращает элементарную строку, а не объект типа String.
Так как fromCharCode - статический метод String, он всегда вызывается как String.fromCharCode().
Хотя наиболее частые значения в юникоде могут быть представлены одним числом (как задумано в ранних стандартах яваскрипт), и fromCharCode() можно использовать, чтобы получить один символ для частых значений (т.е значений UCS-2, которые являются подмножеством UTF-16), но для ВСЕХ юникодных значений одного fromCharCode() не хватает.
Так как более редкие символы кодируются в юникоде с использованием пары чисел, fromCharCode() можно использовать для возврата этой пары, и, таким образом, получения нужного значения.
Однако, имейте в виду, что следующая вспомогательная функция, которая получает любой юникодный символ, может вернуть такое значение, которое показывается как один символ, но в строке занимает 2 места. Хотя обычно - это все же будет 1 символ и 1 позиция в строке.
function fixedFromCharCode (codePt) {
if (codePt > 0xFFFF) {
codePt -= 0x10000;
return String.fromCharCode(0xD800 + (codePt >> 10), 0xDC00 + (codePt & 0x3FF));
} else {
return String.fromCharCode(codePt);
}
}
Пример: Использование fromCharCode
// вернет строку "ABC".
String.fromCharCode(65,66,67)
Добавить see also для не-юникодных обычных ASSCCIII символов.
почему upper case? как сделать нормально
потому что А=65, В=66, С=67. у строчных коды другие.
Отправить комментарий
Приветствуются комментарии:- Полезные.
- Дополняющие прочитанное.
- Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.Для остальных вопросов и обсуждений есть форум.