1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
---
title: String.fromCharCode()
slug: Web/JavaScript/Reference/Global_Objects/String/fromCharCode
tags:
- JavaScript
- Method
- String
- Unicode
- Довідка
translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCharCode
---
<div>{{JSRef}}</div>
<p>Статичний метод <strong><code>String.fromCharCode()</code></strong> повертає рядок, створений з послідовності кодових одиниць Unicode переданих цілими числами.</p>
<h2 id="Синтаксис">Синтаксис</h2>
<pre class="syntaxbox"><code>String.fromCharCode(<var>num1</var>[, ...[, <var>numN</var>]])</code></pre>
<h3 id="Параметри">Параметри</h3>
<dl>
<dt><code>num1, ..., num<em>N</em></code></dt>
<dd>Послідовність цілих чисел, кожне з яких подає окрему кодову одиницю Unicode.</dd>
</dl>
<h3 id="Вертає">Вертає</h3>
<p>Рядок із символів, що відповідають переданій послідовності значень (кодових одиниць) Unicode.</p>
<h2 id="Опис">Опис</h2>
<p>Цей метод вертає власне рядок, що належить до {{glossary("Primitive", "простого типу даних")}}, а не об'єкт класу <code>{{jsxref("String")}}</code>.</p>
<p>Позаяк <code>fromCharCode()</code> є статичним методом класу <code>{{jsxref("String")}}</code>, він зазвичай використовується як <code>String.fromCharCode()</code>, а не як метод створеного об'єкта класу.</p>
<h2 id="Приклади">Приклади</h2>
<h3 id="Використання_fromCharCode()">Використання <code>fromCharCode()</code></h3>
<p>Наведений вираз повертає рядок "Віко":</p>
<pre class="brush: js">// вертає "Віко"
String.fromCharCode(0x412, 0x456, 0x43A, 0x43E);</pre>
<h2 id="Обробка_значень_понад_0xFFFF">Обробка значень понад 0xFFFF</h2>
<p>Попри свою назву, метод фактично приймає не коди символів, а саме кодові одиниці. Тобто символи, коди яких перевищують значення 0xFFFF (діапазон UCS-2), доведеться передавати двома кодовими одиницями:</p>
<p>Наприклад, символ з кодом U+1F341 «MAPLE LEAF» доведеться подавати як послідовність кодових одиниць 0xD83C та 0xDF41:</p>
<pre class="brush: js">// виводить символ U+1F341 «MAPLE LEAF»
console.log(String.fromCharCode(0xD83C, 0xDF41));</pre>
<p>Більшість символів Unicode можна передати значеннями одного 16-розрядного числа (як передбачалося на початку стандартизації JavaScript), тож <code>fromCharCode()</code> можна застосовувати для створення рядків із найпоширенішими символами (UCS-2 є підмножиною UTF-8, що містить найбільш вживані символи), проте для потреб передачі всіх можливих символів (кодуються 21 двійковим розрядом) лише методу <code>fromCharCode()</code> недостатньо. Позаяк символи з кодами вищими за 0xFFFF подаються так званими «сурогатними парами» (двома окремими кодовими одиницями), можна використати <code>{{jsxref("String.fromCodePoint()")}}</code> (є частиною стандарту ES2015), що належним чином перетворить вищі коди символів на такі пари:</p>
<pre class="brush: js">// виводить true
console.log(String.fromCharCode(0xD83C, 0xDF41) === String.fromCodePoint(0x1F341));</pre>
<h2 id="Специфікації">Специфікації</h2>
<table class="standard-table">
<thead>
<tr>
<th scope="col">Специфікація</th>
<th scope="col">Статус</th>
<th scope="col">Коментар</th>
</tr>
</thead>
<tbody>
<tr>
<td>{{SpecName('ES1')}}</td>
<td>{{Spec2('ES1')}}</td>
<td>Первинне визначення. Реалізовано у JavaScript 1.2.</td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-15.5.3.2', 'StringfromCharCode')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-string.fromcharcodes', 'String.fromCharCode')}}</td>
<td>{{Spec2('ES6')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-string.fromcharcodes', 'String.fromCharCode')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2>
<div class="hidden">
<p>Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p>
</div>
<p>{{Compat("javascript.builtins.String.fromCharCode")}}</p>
<h2 id="Див._також">Див. також</h2>
<ul>
<li>{{jsxref("String.fromCodePoint()")}}</li>
<li>{{jsxref("String.prototype.charAt()")}}</li>
<li>{{jsxref("String.prototype.charCodeAt()")}}</li>
<li>{{jsxref("String.prototype.codePointAt()")}}</li>
</ul>
|