aboutsummaryrefslogtreecommitdiff
path: root/files/uk/web/javascript/reference/global_objects/string/normalize
diff options
context:
space:
mode:
authorRyan Johnson <rjohnson@mozilla.com>2021-04-29 16:16:42 -0700
committerGitHub <noreply@github.com>2021-04-29 16:16:42 -0700
commit95aca4b4d8fa62815d4bd412fff1a364f842814a (patch)
tree5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/global_objects/string/normalize
parentee3b1c87e3c8e72ca130943eed260ad642246581 (diff)
downloadtranslated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.gz
translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.tar.bz2
translated-content-95aca4b4d8fa62815d4bd412fff1a364f842814a.zip
remove retired locales (#699)
Diffstat (limited to 'files/uk/web/javascript/reference/global_objects/string/normalize')
-rw-r--r--files/uk/web/javascript/reference/global_objects/string/normalize/index.html226
1 files changed, 0 insertions, 226 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/string/normalize/index.html b/files/uk/web/javascript/reference/global_objects/string/normalize/index.html
deleted file mode 100644
index 15b56e2bad..0000000000
--- a/files/uk/web/javascript/reference/global_objects/string/normalize/index.html
+++ /dev/null
@@ -1,226 +0,0 @@
----
-title: String.prototype.normalize()
-slug: Web/JavaScript/Reference/Global_Objects/String/normalize
-tags:
- - ECMAScript 2015
- - JavaScript
- - String
- - Unicode
- - метод
-translation_of: Web/JavaScript/Reference/Global_Objects/String/normalize
----
-<div>{{JSRef}}</div>
-
-<p>Метод <strong><code>normalize()</code></strong> повертає рядок у формі нормалізації Юнікоду.</p>
-
-<div>{{EmbedInteractiveExample("pages/js/string-normalize.html", "taller")}}</div>
-
-
-
-<h2 id="Синтаксис">Синтаксис</h2>
-
-<pre class="syntaxbox"><code><var>str</var>.normalize([<var>form</var>])</code></pre>
-
-<h3 id="Параметри">Параметри</h3>
-
-<dl>
- <dt><code><var>form</var></code> {{optional_inline}}</dt>
- <dd>
- <p>Одне зі значень <code>"NFC"</code>, <code>"NFD"</code>, <code>"NFKC"</code> або <code>"NFKD"</code>, що вказують форму нормалізації Юнікоду. Якщо не вказана, або дорівнює {{jsxref("undefined")}}, використовується <code>"NFC"</code>.</p>
-
- <p>Ці значення означають наступне:</p>
-
- <dl>
- <dt><code>"NFC"</code></dt>
- <dd>Канонічна декомпозиція, з подальшою канонічною композицією.</dd>
- <dt><code>"NFD"</code></dt>
- <dd>Канонічна декомпозиція.</dd>
- <dt><code>"NFKC"</code></dt>
- <dd>Сумісна декомпозиція, з подальшою <em>канонічною</em> композицією.</dd>
- <dt><code>"NFKD"</code></dt>
- <dd>Сумісна декомпозиція.</dd>
- </dl>
- </dd>
-</dl>
-
-<h3 id="Значення_що_повертається">Значення, що повертається</h3>
-
-<p>Рядок, що містить форму нормалізації Юнікоду для наданого рядка.</p>
-
-<h3 id="Помилки">Помилки</h3>
-
-<dl>
- <dt>{{jsxref("RangeError")}}</dt>
- <dd>Помилка {{jsxref("RangeError")}} викидається, якщо <code>form</code> не є одним з наведених вище значень.</dd>
-</dl>
-
-<h2 id="Опис">Опис</h2>
-
-<p>Юнікод присвоює унікальне числове значення, яке називається <em>кодом символа</em>, кожному символу. Наприклад, кодом символа <code>"A"</code> є U+0041. Однак, іноді більше, ніж один код символа, або послідовність кодів, можуть представляти один і той самий абстрактний символ — наприклад, символ <code>"ñ"</code> може бути представлений:</p>
-
-<ul>
- <li>Єдиним кодом символа U+00F1.</li>
- <li>Кодом символа <code>"n"</code> (U+006E) з наступним кодом символа для об'єднуючої тильди (U+0303).</li>
-</ul>
-
-<pre class="brush: js">let string1 = '\u00F1';
-let string2 = '\u006E\u0303';
-
-console.log(string1); // ñ
-console.log(string2); // ñ
-</pre>
-
-<p>Однак, оскільки коди символів відрізняються, порівняння рядків не вважатиме їх рівними. А оскільки кількість кодів символів у цих варіантах різна, то вони навіть мають різні довжини.</p>
-
-<pre class="brush: js">let string1 = '\u00F1'; // ñ
-let string2 = '\u006E\u0303'; // ñ
-
-console.log(string1 === string2); // false
-console.log(string1.length); // 1
-console.log(string2.length); // 2
-</pre>
-
-<p>Метод <code>normalize()</code> допомагає вирішити цю проблему, перетворюючи рядок у нормалізовану форму, спільну для усіх послідовностей кодів символів, які представляють однакові символи. Існують дві основні форми нормалізації, одна базується на <strong>канонічній еквівалентності</strong>, а інша на <strong>сумісності</strong>.</p>
-
-<h3 id="Нормалізація_на_основі_канонічної_еквівалентності">Нормалізація на основі канонічної еквівалентності</h3>
-
-<p>В Юнікоді дві послідовності кодів символів канонічно еквівалентні, якщо вони відображають однакові абстрактні символи, і повинні завжди мати однакове візуальне відображення та поведінку (для прикладу, вони завжди повинні сортуватися однаковим чином).</p>
-
-<p>Ви можете скористатись методом <code>normalize()</code>, використовуючи аргументи <code>"NFD"</code> або <code>"NFC"</code>, щоб створити форму рядка, що буде однаковою для усіх канонічно еквівалентних рядків. У наведеному нижче прикладі ми нормалізуємо два відображення символу <code>"ñ"</code>:</p>
-
-<pre class="brush: js">let string1 = '\u00F1'; // ñ
-let string2 = '\u006E\u0303'; // ñ
-
-string1 = string1.normalize('NFD');
-string2 = string2.normalize('NFD');
-
-console.log(string1 === string2); // true
-console.log(string1.length); // 2
-console.log(string2.length); // 2
-</pre>
-
-<h4 id="Зєднана_та_розкладена_форми">З'єднана та розкладена форми</h4>
-
-<p>Зауважте, що довжина нормалізованої форми при використанні <code>"NFD"</code> дорівнює <code>2</code>. Це тому, що <code>"NFD"</code> дає вам <strong>розкладену</strong> версію канонічної форми, в якій один код символа розбивається на множину складових. Розкладеною канонічною формою для <code>"ñ"</code> є <code>"\u006E\u0303"</code>.</p>
-
-<p>Ви можете вказати <code>"NFC"</code>, щоб отримати <strong>з'єднану</strong> канонічну форму, в якій множина кодів символів замінюється єдиним кодом символу, де це можливо. З'єднаною канонічною формою для <code>"ñ"</code> є <code>"\u00F1"</code>:</p>
-
-<pre class="brush: js">let string1 = '\u00F1'; // ñ
-let string2 = '\u006E\u0303'; // ñ
-
-string1 = string1.normalize('NFC');
-string2 = string2.normalize('NFC');
-
-console.log(string1 === string2); // true
-console.log(string1.length); // 1
-console.log(string2.length); // 1
-console.log(string2.codePointAt(0).toString(16)); // f1</pre>
-
-<h3 id="Нормалізація_на_основі_сумісності">Нормалізація на основі сумісності</h3>
-
-<p>В Юнікоді дві послідовності кодів символів є сумісними, якщо вони представляють однакові абстрактні символи, і мають сприйматися однаково у деяких — але не обов'язково в усіх — застосуваннях.</p>
-
-<p>Усі канонічно еквівалентні послідовності також є сумісними, але не навпаки.</p>
-
-<p>Наприклад:</p>
-
-<ul>
- <li>код символа U+FB00 відображає <a href="/uk/docs/Glossary/Ligature">лігатуру</a> <code>"ff"</code>. Він сумісний з двома послідовними кодами символів U+0066 (<code>"ff"</code>).</li>
- <li>код символа U+24B9 відображає символ <code><span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="cm-string">"Ⓓ"</span></span></span></span></code>. Він сумісний з кодом символа U+0044 (<code>"D"</code>).</li>
-</ul>
-
-<p>У деяких ситуаціях (таких, як сортування) вони мають сприйматися як еквівалентні, а у деяких (таких, як візуальне відображення) — ні, отже, вони не є канонічно еквівалентними.</p>
-
-<p>Ви можете скористатись методом <code>normalize()</code>, використовуючи аргументи <code>"NFKD"</code> або <code>"NFKC"</code>, щоб створити форму рядка, яка буде однаковою для усіх сумісних рядків:</p>
-
-<pre class="brush: js">let string1 = '\uFB00';
-let string2 = '\u0066\u0066';
-
-console.log(string1); // ff
-console.log(string2); // ff
-console.log(string1 === string2); // false
-console.log(string1.length); // 1
-console.log(string2.length); // 2
-
-string1 = string1.normalize('NFKD');
-string2 = string2.normalize('NFKD');
-
-console.log(string1); // ff &lt;- візуальне відображення змінилось
-console.log(string2); // ff
-console.log(string1 === string2); // true
-console.log(string1.length); // 2
-console.log(string2.length); // 2
-</pre>
-
-<p>Застосовуючи сумісну нормалізацію, важливо враховувати, що саме ви намагаєтесь зробити з рядками, оскільки нормалізована форма може не підходити для усіх застосувань. У наведеному вище прикладі нормалізація підходить для пошуку, бо дозволяє користувачу знайти рядок пошуком <code>"f"</code>. Але вона може не підходити для відображення, бо зовнішній вигляд символа відрізняється.</p>
-
-<p>Як і у випадку з канонічною нормалізацією, ви можете застосовувати розкладену або з'єднану форми, передаючи, відповідно, <code>"NFKD"</code> або <code>"NFKC"</code>.</p>
-
-<h2 id="Приклади">Приклади</h2>
-
-<h3 id="Використання_normalize">Використання <code>normalize()</code></h3>
-
-<pre class="brush: js">// Початковий рядок
-
-// U+1E9B: ЛАТИНСЬКА МАЛА ЛІТЕРА ДОВГА S З КРАПКОЮ ЗГОРИ
-// U+0323: ОБ'ЄДНУЮЧА КРАПКА ВНИЗУ
-let str = '\u1E9B\u0323';
-
-
-// Канонічно-з'єднана форма (NFC)
-
-// U+1E9B: ЛАТИНСЬКА МАЛА ЛІТЕРА ДОВГА S З КРАПКОЮ ЗГОРИ
-// U+0323: ОБ'ЄДНУЮЧА КРАПКА ВНИЗУ
-str.normalize('NFC'); // '\u1E9B\u0323'
-str.normalize(); // такий самий
-
-
-// Канонічно-розкладена форма (NFD)
-
-// U+017F: ЛАТИНСЬКА МАЛА ЛІТЕРА ДОВГА S
-// U+0323: ОБ'ЄДНУЮЧА КРАПКА ВНИЗУ
-// U+0307: ОБ'ЄДНУЮЧА КРАПКА ЗГОРИ
-str.normalize('NFD'); // '\u017F\u0323\u0307'
-
-
-// Сумісно-з'єднана (NFKC)
-
-// U+1E69: ЛАТИНСЬКА МАЛА ЛІТЕРА S З КРАПКОЮ ВНИЗУ ТА КРАПКОЮ ЗГОРИ
-str.normalize('NFKC'); // '\u1E69'
-
-
-// Сумісно-розкладена (NFKD)
-
-// U+0073: ЛАТИНСЬКА МАЛА ЛІТЕРА S
-// U+0323: ОБ'ЄДНУЮЧА КРАПКА ВНИЗУ
-// U+0307: ОБ'ЄДНУЮЧА КРАПКА ЗГОРИ
-str.normalize('NFKD'); // '\u0073\u0323\u0307'
-</pre>
-
-<h2 id="Специфікації">Специфікації</h2>
-
-<table class="standard-table">
- <thead>
- <tr>
- <th scope="col">Специфікація</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-string.prototype.normalize', 'String.prototype.normalize')}}</td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2>
-
-<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p>
-
-<p>{{Compat("javascript.builtins.String.normalize")}}</p>
-
-<h2 id="Див._також">Див. також</h2>
-
-<ul>
- <li><a href="http://www.unicode.org/reports/tr15/">Unicode Standard Annex #15, Unicode Normalization Forms</a></li>
- <li><a href="http://en.wikipedia.org/wiki/Unicode_equivalence">Unicode equivalence</a></li>
-</ul>