diff options
author | Ryan Johnson <rjohnson@mozilla.com> | 2021-04-29 16:16:42 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-29 16:16:42 -0700 |
commit | 95aca4b4d8fa62815d4bd412fff1a364f842814a (patch) | |
tree | 5e57661720fe9058d5c7db637e764800b50f9060 /files/uk/web/javascript/reference/global_objects/string | |
parent | ee3b1c87e3c8e72ca130943eed260ad642246581 (diff) | |
download | translated-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')
53 files changed, 0 insertions, 6215 deletions
diff --git a/files/uk/web/javascript/reference/global_objects/string/@@iterator/index.html b/files/uk/web/javascript/reference/global_objects/string/@@iterator/index.html deleted file mode 100644 index 22399ee081..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/@@iterator/index.html +++ /dev/null @@ -1,78 +0,0 @@ ---- -title: 'String.prototype[@@iterator]()' -slug: Web/JavaScript/Reference/Global_Objects/String/@@iterator -tags: - - ECMAScript 2015 - - JavaScript - - String - - Ітератор - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/@@iterator ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>[@@iterator]()</code></strong> повертає новий об'єкт <code>Iterator</code>, який перебирає коди символів рядкового значення, повертаючи код кожного символа у вигляді рядкового значення.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-iterator.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>[Symbol.iterator]</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий об'єкт <code>Iterator</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_iterator">Використання <code>[@@iterator]()</code></h3> - -<pre class="brush:js">var str = 'A\uD835\uDC68'; - -var strIter = str[Symbol.iterator](); - -console.log(strIter.next().value); // "A" -console.log(strIter.next().value); // "\uD835\uDC68" -</pre> - -<h3 id="Використання_iterator_з_for..of">Використання <code>[@@iterator]()</code> з <code>for..of</code></h3> - -<pre class="brush:js">var str = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A'; - -for (var v of str) { - console.log(v); -} -// "A" -// "\uD835\uDC68" -// "B" -// "\uD835\uDC69" -// "C" -// "\uD835\uDC6A" -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype-@@iterator', 'String.prototype[@@iterator]()')}}</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.@@iterator")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li><a href="/uk/docs/Web/JavaScript/Reference/Протоколи_перебору">Протоколи перебору</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/anchor/index.html b/files/uk/web/javascript/reference/global_objects/string/anchor/index.html deleted file mode 100644 index aa1424790a..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/anchor/index.html +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: String.prototype.anchor() -slug: Web/JavaScript/Reference/Global_Objects/String/anchor -tags: - - JavaScript - - String - - метод - - не рекомендований -translation_of: Web/JavaScript/Reference/Global_Objects/String/anchor ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>anchor()</code></strong> створює рядок, який складається з початкового тегу <code><a name="..."></code>, далі якийсь текст, а за ним кінцевий тег <code></a></code>.</p> - -<div class="blockIndicator warning"> -<p>Не використовуйте цей метод. Використовуйте замість нього <a href="/uk/docs/Web/API/Document_Object_Model">DOM API</a>. Також специфікація HTML більше не дозволяє елементу <a href="/uk/docs/Web/HTML/Element/a"><code><a></code></a> мати атрибут <code>name</code>, тому цей метод навіть не створює коректну розмітку.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.anchor(<var>name</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>name</code></dt> - <dd>Рядок, що відображає атрибут <code>name</code> тега, що буде створений.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що складається з початкового тегу <code><a name="<var>name</var>"></code>, далі текст <var>str</var>, і після нього кінцевий тег <code></a></code>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Не використовуйте цей метод. Використовуйте замість нього <a href="/uk/docs/Web/API/Document_Object_Model">DOM API</a>. Також специфікація HTML більше не дозволяє елементу <a href="https://wiki.developer.mozilla.org/en-US/docs/Web/HTML/Element/a"><code><a></code></a> мати артибут <code>name</code>, тому цей метод навіть не створює коректну розмітку.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_anchor">Використання <code>anchor()</code></h3> - -<pre class="brush: js">var myString = 'Зміст'; - -document.body.innerHTML = myString.anchor('contents_anchor'); -</pre> - -<p>створить наступний HTML:</p> - -<pre class="brush: html"><a name="contents_anchor">Зміст</a> -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.anchor', 'String.prototype.anchor')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Поліфіл">Поліфіл</h2> - -<pre class="brush: html">if (!String.prototype.anchor) - String.prototype.anchor = function(x){ - return '<a name="' + x + '">' + this + '</a>' - } -</pre> - -<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.anchor")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.link()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/big/index.html b/files/uk/web/javascript/reference/global_objects/string/big/index.html deleted file mode 100644 index 40f46db96d..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/big/index.html +++ /dev/null @@ -1,73 +0,0 @@ ---- -title: String.prototype.big() -slug: Web/JavaScript/Reference/Global_Objects/String/big -tags: - - JavaScript - - String - - застарілий - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/big ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>big()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/big" title="Застарілий HTML-елемент Big (<big>) відображає текст розміром шрифту на один рівень більшим за оточуючий текст (наприклад, medium перетворюється на large)"><code><big></code></a>, який відображає рядок великим шрифтом.</p> - -<div class="note"> -<p><strong>Примітка щодо використання:</strong> Елемент <big> був прибраний у <a href="/uk/docs/Web/Guide/HTML/HTML5">HTML5</a> та не має більше використовуватись. Замість нього веб-розробникам варто використовувати властивості <a href="/uk/docs/Web/CSS">CSS</a>.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.big()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/big" title="Застарілий HTML-елемент Big (<big>) відображає текст розміром шрифту на один рівень більшим за оточуючий текст (наприклад, medium перетворюється на large)"><code><big></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>big()</code> вбудовує рядок у тег <code><big></code>: <code>"<big>str</big>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_big">Використання <code>big()</code></h3> - -<p>Наступний приклад використовує рядкові методи, щоб змінити розмір рядка:</p> - -<pre class="brush: js">var worldString = 'Привіт'; - -console.log(worldString.small()); // <small>Привіт</small> -console.log(worldString.big()); // <big>Привіт</big> -console.log(worldString.fontsize(7)); // <fontsize=7>Привіт</fontsize> -</pre> - -<p>З об'єктом <a href="/uk/docs/Web/API/HTMLElement/style" title="Властивість HTMLElement.style використовується для отримання, а також присвоєння внутрішнього стилю елемента. При отриманні вона вертає об'єкт CSSStyleDeclaration, який містить список усіх властивостей стилів для цього елемента, а також значення, присвоєні атрибутам, які визначені у внутрішньому атрибуті елемента style."><code>element.style</code></a> ви можете отримати атрибут елемента <code>style</code> та маніпулювати ним в загальному стилі, наприклад:</p> - -<pre class="brush: js">document.getElementById('yourElemId').style.fontSize = '2em'; -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.big', 'String.prototype.big')}}</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.big")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.fontsize()")}}</li> - <li>{{jsxref("String.prototype.small()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/blink/index.html b/files/uk/web/javascript/reference/global_objects/string/blink/index.html deleted file mode 100644 index 2c562cc2ca..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/blink/index.html +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: String.prototype.blink() -slug: Web/JavaScript/Reference/Global_Objects/String/blink -tags: - - JavaScript - - String - - метод - - не рекомендований - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/blink ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>blink()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/blink" title="HTML-елемент Blink (<blink>) - це нестандартний елемент, який відображає текст таким, що повільно блимає."><code><blink></code></a>, який виводить текст, що блимає.</p> - -<div class="warning"> -<p><strong>Застереження:</strong> Блимаючий текст не схвалюється у кількох стандартах доступності. Сам елемент <code><blink></code> нестандартний та не рекомендований!</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.blink()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/blink" title="HTML-елемент Blink (<blink>) - це нестандартний елемент, який відображає текст таким, що повільно блимає."><code><blink></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>blink()</code> вбудовує рядок у тег <code><blink></code>: <code>"<blink>str</blink>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_blink">Використання <code>blink()</code></h3> - -<p>Наступний приклад використовує рядкові методи, щоб змінити форматування рядка:</p> - -<pre class="brush: js">var worldString = 'Привіт'; - -console.log(worldString.blink()); // <blink>Привіт</blink> -console.log(worldString.bold()); // <b>Привіт</b> -console.log(worldString.italics()); // <i>Привіт</i> -console.log(worldString.strike()); // <strike>Привіт</strike></pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.blink', 'String.prototype.blink')}}</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.blink")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.bold()")}}</li> - <li>{{jsxref("String.prototype.italics()")}}</li> - <li>{{jsxref("String.prototype.strike()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/bold/index.html b/files/uk/web/javascript/reference/global_objects/string/bold/index.html deleted file mode 100644 index 1f0ddd661d..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/bold/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: String.prototype.bold() -slug: Web/JavaScript/Reference/Global_Objects/String/bold -tags: - - JavaScript - - String - - метод - - не рекомендований - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/bold ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>bold()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/b" title="HTML-елемент Bring Attention To (<b>) використовується для привертання уваги читача до вмісту елемента, який в іншому випадку не набуде особливого значення."><code><b></code></a>, який відображає рядок жирним шрифтом.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.bold()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/b" title="HTML-елемент Bring Attention To (<b>) використовується для привертання уваги читача до вмісту елемента, який в іншому випадку не набуде особливого значення."><code><b></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>bold()</code> вбудовує рядок у тег <code><b></code> : <code>"<b>str</b>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_bold">Використання <code>bold()</code></h3> - -<p>Наступний приклад використовує рядкові методи, щоб змінити форматування рядка:</p> - -<pre class="brush: js">var worldString = 'Привіт'; - -console.log(worldString.blink()); // <blink>Привіт</blink> -console.log(worldString.bold()); // <b>Привіт</b> -console.log(worldString.italics()); // <i>Привіт</i> -console.log(worldString.strike()); // <strike>Привіт</strike></pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.bold', 'String.prototype.bold')}}</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.bold")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.blink()")}}</li> - <li>{{jsxref("String.prototype.italics()")}}</li> - <li>{{jsxref("String.prototype.strike()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/charat/index.html b/files/uk/web/javascript/reference/global_objects/string/charat/index.html deleted file mode 100644 index 004400895c..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/charat/index.html +++ /dev/null @@ -1,316 +0,0 @@ ---- -title: String.prototype.charAt() -slug: Web/JavaScript/Reference/Global_Objects/String/charAt -tags: - - JavaScript - - Method - - Prototype - - String - - Довідка -translation_of: Web/JavaScript/Reference/Global_Objects/String/charAt ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>charAt()</code></strong> створює і вертає підрядок, що міститиме лише один символ (кодова одиниця UTF-16), розташований у рядку із зазначеним зсувом.</span></p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><em>str</em>.charAt(<em>index</em>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>index</code></dt> - <dd>Індекс символа у рядку, ціле число від <code>0</code> до <code>str.length - 1</code>. Якщо не зазначено (метод викликано без аргументів), метод повертає перший символ рядка.</dd> -</dl> - -<h3 id="Вертає">Вертає</h3> - -<p>Підрядок з одного символа (одна кодова одиниця UTF-16) отриманого за вказаним індексом, або порожній рядок, якщо <code>index</code> вказує за межі рядка (менше <code>0</code> чи понад <code>str.length - 1</code>).</p> - -<h2 id="Опис">Опис</h2> - -<p>Кожен символ рядка має індекс, що зростає зліва направо. Лік починається від нуля, тож перший символ має індекс <code>0</code>, а останній — <code>str.length - 1</code>. Якщо зазначено індекс, що за ці межі виходить, метод <code>chartAt()</code> вертає порожній рядок.</p> - -<p>Якщо індекс не зазначено для метода <code>charAt()</code>, буде задіяно типове значення <code>0</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Виведення_різних_символів_рядка">Виведення різних символів рядка</h3> - -<p>Цей приклад дістає та виводить до консолі різні символи рядка <code>«Хай йому грець»</code>:</p> - -<pre class="brush: js">var str = 'Хай йому грець'; - -// Індекс не зазначено, буде неявно задіяно значення 0 -console.log(str.charAt()); // виводить "Х" - -console.log(str.charAt(0)); // виводить "Х" -console.log(str.charAt(1)); // виводить "а" -console.log(str.charAt(2)); // виводить "й" - -console.log(str.charAt(-1)); // виводить "" -console.log(str.charAt(99)); // виводить "" -</pre> - -<h3 id="Отримання_цілого_символа">Отримання цілого символа</h3> - -<p>Позаяк деякі символи в UTF-16 подаються двома кодовими одиницями, слід зважати на те, що метод <code>charAt()</code> дістає їх з рядка нарізно, а отже задля отримання цілого символа доведеться їх об'єднати.</p> - -<p>Наведений нижче код призначено для послідовної обробки рядків, що можуть містити такі складені символи (не належать до <abbr title="Basic Multilingual Plane (BMP)">Основної Багатомовної Площини (ОБП)</abbr> Unicode):</p> - -<pre class="brush: js">// Символи поза ОБП можна було б вжити безпосередньо -var str = 'A \uD87E\uDC04 Z'; - -for (var i = 0, chr; i < str.length; i++) { - // Просто додайте цю перевірку на початку кожного циклу з перебору символів - // і завжди матимете складені символи повністю, а не половини складеного - // символа нарізно. - if ((chr = getWholeChar(str, i)) === false) { - continue; - } - - console.log(chr); -} - -function getWholeChar(str, i) { - var code = str.charCodeAt(i); - - // Значення зсуву «i» за межами рядка - if (Number.isNaN(code)) { - return ''; - } - if (code < 0xD800 || code > 0xDFFF) { - return str.charAt(i); - } - - // Старша половина (можна замінити друге значення на 0xDB7F й тлумачити - // «старші половини приватного вжитку» як окремі символи). - if (0xD800 <= code && code <= 0xDBFF) { - if (str.length <= (i + 1)) { - throw 'High surrogate without following low surrogate'; - } - - var next = str.charCodeAt(i + 1); - if (0xDC00 > next || next > 0xDFFF) { - throw 'High surrogate without following low surrogate'; - } - return str.charAt(i) + str.charAt(i + 1); - } - - // Молодша половина (0xDC00 <= code && code <= 0xDFFF) - if (i === 0) { - throw 'Low surrogate without preceding high surrogate'; - } - var prev = str.charCodeAt(i - 1); - - // Можна замінити друге значення на 0xDB7F й тлумачити - // «старші половини приватного вжитку» як окремі символи. - if (0xD800 > prev || prev > 0xDBFF) { - throw 'Low surrogate without preceding high surrogate'; - } - - // Молодшу половину було оброблено разом із старшою, тож тепер - // ми її пропускаємо. - return false; -} -</pre> - -<p>У середовищі ECMAScript 2016, що підтримує присвоєння {{jsxref("Operators/Деструктуризація", "деструктурованням")}}, можна трохи поліпшити легкочитність коду, повертаючи з функції також оновлене (якщо останній символ був складений) значення зсуву:</p> - -<pre class="brush: js">// Символи поза ОБП можна було б вжити безпосередньо -var str = 'A\uD87E\uDC04Z'; -for (var i = 0, chr; i < str.length; i++) { - [chr, i] = getWholeCharAndI(str, i); - // Просто додайте цей виклик на початку кожного циклу з перебору символів - // і завжди матимете складені символи повністю, а не половини складеного - // символа нарізно. - // Значення «i» буде оновлено, якщо метод натрапить на складений символ. - - console.log(chr); -} - -function getWholeCharAndI(str, i) { - var code = str.charCodeAt(i); - - // Значення зсуву «i» за межами рядка - if (Number.isNaN(code)) { - return ['', i]; - } - if (code < 0xD800 || code > 0xDFFF) { - / / Звичайний символ, просто лишаємо все як є. - return [str.charAt(i), i]; - } - - // Старша половина (можна замінити друге значення на 0xDB7F й тлумачити - // «старші половини приватного вжитку» як окремі символи). - if (0xD800 <= code && code <= 0xDBFF) { - if (str.length <= (i + 1)) { - throw 'High surrogate without following low surrogate'; - } - var next = str.charCodeAt(i + 1); - if (0xDC00 > next || next > 0xDFFF) { - throw 'High surrogate without following low surrogate'; - } - - // Зібрати складений символ докупи й повернути збільшений зсув - return [str.charAt(i) + str.charAt(i + 1), i + 1]; - } - - // Low surrogate (0xDC00 <= code && code <= 0xDFFF) - if (i === 0) { - throw 'Low surrogate without preceding high surrogate'; - } - var prev = str.charCodeAt(i - 1); - - // Можна замінити друге значення на 0xDB7F й тлумачити - // «старші половини приватного вжитку» як окремі символи. - if (0xD800 > prev || prev > 0xDBFF) { - throw 'Low surrogate without preceding high surrogate'; - } - - // Повернути натомість наступний символ й повернути збільшений зсув - return [str.charAt(i + 1), i + 1]; -} -</pre> - -<p>Також можна навести більш витончене рішення, хоча дещо менш гнучке:</p> - -<pre class="brush: js">// Просто перебираємо символи рядка за допомогою forEachChar() -forEachChar('A\uD87E\uDC04Z', function(c) { - console.log(c); -}); - -function forEachChar(string, predicate) { - for (var i = 0; i < string.length; i++) { - var code = string.charCodeAt(i); - var value; - - // Звичайний символ, просто лишаємо як є. - if (code < 0xD800 || code > 0xDFFF) { - value = string.charAt(i); - } else { - // Старша половина (можна замінити друге значення на 0xDB7F й тлумачити - // «старші половини приватного вжитку» як окремі символи). - if (0xD800 <= code && code <= 0xDBFF) { - if (string.length <= (i + 1)) { - throw 'High surrogate without following low surrogate'; - } - - var next = string.charCodeAt(i + 1); - if (0xDC00 > next || next > 0xDFFF) { - throw 'High surrogate without following low surrogate'; - } - - value = string.charAt(i) + string.charAt(i + 1); - i++; - } else { - // Молодша половина (0xDC00 <= code && code <= 0xDFFF) - throw 'Low surrogate without preceding high surrogate'; - } - } - - // Перебір можна перервати, повернувши з функції-присудка значення false - if (false === predicate.call(string, value)) { - return; - } - } -} -</pre> - -<h3 id="Виправлений_charAt()_з_урахуванням_складених_символів">Виправлений <code>charAt()</code> з урахуванням складених символів</h3> - -<p>Приклад нижче наводить функцію <code>fixedCharAt()</code>, яка не лише злучає половинки складених символів, а ще й змінює індексацію символів таким чином, що <code>index</code> позначає порядковий номер (лік від нуля, як завжди) не кодової одиниці (як для звичайного <code>charAt()</code>), а саме повного символа.</p> - -<p>Втім, слід зважати, що це рішення є вкрай неоптимальним, якщо користувати його для перебору всього рядка:</p> - -<pre class="brush: js">function fixedCharAt(string, index) { - var isExpectingLowSurrogate = false; - var charIndex = 0; - var i = 0; - - // За межами рядка. - if (index < 0 || index >= string.length) { - return ''; - } - - while (i < string.length && charIndex < index) { - if (isHighSurrogateAt(string, i) && isLowSurrogateAt(string, i + 1)) { - i++; - } - - i++; - charIndex++; - } - - if (i < string.length) { - if (isHighSurrogateAt(string, i) && isLowSurrogateAt(string, i + 1)) { - return string.charAt(i) + string.charAt(i + 1); - } else { - return string.charAt(i); - } - } - - return ''; -} - -function isHighSurrogateAt(string, index) { - var code = string.charCodeAt(index); - return 0xD800 <= code && code <= 0xDBFF; -} - -function isLowSurrogateAt(string, index) { - var code = string.charCodeAt(index); - return 0xDC00 <= code && code <= 0xDFFF; -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - <th scope="col">Статус</th> - <th scope="col">Коментар</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Початкова виознака.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.5.4.4', 'String.prototype.charAt')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-string.prototype.charat', 'String.prototype.charAt')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.charat', 'String.prototype.charAt')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<div class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.String.charAt")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.indexOf()")}}</li> - <li>{{jsxref("String.prototype.lastIndexOf()")}}</li> - <li>{{jsxref("String.prototype.charCodeAt()")}}</li> - <li>{{jsxref("String.prototype.codePointAt()")}}</li> - <li>{{jsxref("String.prototype.split()")}}</li> - <li>{{jsxref("String.fromCodePoint()")}}</li> - <li><a href="https://mathiasbynens.be/notes/javascript-unicode">Негаразди з Unicode у JavaScript — Mathias Bynens</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html b/files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html deleted file mode 100644 index 3ed3a4c450..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/charcodeat/index.html +++ /dev/null @@ -1,161 +0,0 @@ ---- -title: String.prototype.charCodeAt() -slug: Web/JavaScript/Reference/Global_Objects/String/charCodeAt -tags: - - JavaScript - - String - - Unicode - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>charCodeAt()</code></strong> вертає ціле число в діапазоні між <code>0</code> та <code>65535</code>, що відображає кодову одиницю UTF-16 за наданим індексом.</span></p> - -<div>{{EmbedInteractiveExample("pages/js/string-charcodeat.html", "shorter")}}</div> - - - -<p>Кодова одиниця UTF-16 співпадає з кодом символа Юнікоду для кодів символів, які можуть бути представлені єдиною кодовою одиницею UTF-16. Якщо код символа Юнікоду не може бути представлений єдиною кодовою одиницею UTF-16 (бо його значення більше за <code>0xFFFF</code>), тоді повернена кодова одиниця буде <em>першою частиною сурогатної пари </em>для коду символа. Якщо вам потрібен весь код символа, використовуйте {{jsxref("Global_Objects/String/codePointAt", "codePointAt()")}}.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.charCodeAt(<var>index</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>index</var></code></dt> - <dd>Ціле число, що більше або дорівнює <code>0</code> та менше за довжину рядка. Якщо <code><var>index</var></code> не є числом, він за замовчуванням прирівнюється до <code>0</code>.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Число, що відображає значення кодової одиниці UTF-16 для символа за наданим індексом <code><var>index</var></code>. Якщо <code><var>index</var></code> знаходиться за межами діапазону, <code>charCodeAt()</code> повертає {{jsxref("Global_Objects/NaN", "NaN")}}.</p> - -<h2 id="Опис">Опис</h2> - -<p>Коди символів Юнікоду знаходяться в діапазоні від <code>0</code> до <code>1114111</code> <code>(0x10FFFF</code>). Перші 128 кодів символів Юнікоду повністю співпадають з кодуванням символів ASCII. (Інформацію щодо Юнікоду дивіться у <a href="/uk/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#Unicode">Посібнику JavaScript</a>.)</p> - -<div class="blockIndicator note"> -<p><strong>Заувага:</strong> <code>charCodeAt()</code> завжди поверне значення, менше за <code>65536</code>. Тому що більші коди символів відображаються <em>парою</em> (з меншим значенням) "сурогатних" псевдосимволів, що складають реальний символ.</p> - -<p>Тому, щоб дослідити (чи відтворити) повний символ для значень окремих символів від <code>65536</code> та більше, для таких символів необхідно отримувати не лише <code>charCodeAt(<var>i</var>)</code>, але також <code>charCodeAt(<var>i</var>+1)</code> (ніби маніпулюючи рядком з двох літер), або використовувати замість цього <code>codePointAt(<var>i</var>)</code>. Дивіться приклади 2 та 3 (нижче).</p> -</div> - -<p><code>charCodeAt()</code> повертає {{jsxref("Global_Objects/NaN", "NaN")}}, якщо наданий індекс менший за <code>0</code>, або якщо він дорівнює чи перевищує значення довжини рядка.</p> - -<p>Зворотня сумісність: У історичних версіях (наприклад, JavaScript 1.2) метод <code>charCodeAt()</code> вертає число, що вказує значення набору символів ISO-Latin-1 для символа за наданим індексом. Набір символів ISO-Latin-1 знаходиться в діапазоні від <code>0</code> до <code>255</code>. Перші <code>0</code>-<code>127</code> повністю співпадають з набором символів ASCII.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_charCodeAt">Використання <code>charCodeAt()</code></h3> - -<p>Наступний приклад вертає <code>65</code>, значення Юнікоду для A.</p> - -<pre class="brush: js">'ABC'.charCodeAt(0) // вертає 65 -</pre> - -<h3 id="Виправлення_charCodeAt_для_обробки_символів_не_базової_багатомовної_площини_якщо_їхня_наявність_раніше_у_рядку_невідома">Виправлення <code>charCodeAt()</code> для обробки символів не базової багатомовної площини, якщо їхня наявність раніше у рядку невідома</h3> - -<p>Ця версія може використовуватись для циклів та подібного, коли невідомо, чи були присутні символи не з ББП до вказаної позиції.</p> - -<pre class="brush: js">function fixedCharCodeAt(str, idx) { - // напр. fixedCharCodeAt('\uD800\uDC00', 0); // 65536 - // напр. fixedCharCodeAt('\uD800\uDC00', 1); // false - idx = idx || 0; - var code = str.charCodeAt(idx); - var hi, low; - - // Високий сурогат (може міняти останнє шістнадцяткове значення на 0xDB7F - // для обробки високих приватних сурогатів - // як єдиних символів) - if (0xD800 <= code && code <= 0xDBFF) { - hi = code; - low = str.charCodeAt(idx + 1); - if (isNaN(low)) { - throw 'Високий сурогат без наступного ' + - 'низького сурогату у fixedCharCodeAt()'; - } - return ( - (hi - 0xD800) * 0x400) + - (low - 0xDC00) + 0x10000; - } - if (0xDC00 <= code && code <= 0xDFFF) { // Низький сурогат - // Ми вертаємо false, щоб дозволити циклам пропустити - // цю ітерацію, бо мали вже обробити - // високий сурогат вище у попередній ітерації - return false; - // hi = str.charCodeAt(idx - 1); - // low = code; - // return ((hi - 0xD800) * 0x400) + - // (low - 0xDC00) + 0x10000; - } - return code; -} -</pre> - -<h3 id="Виправлення_charCodeAt_для_обробки_символів_не_базової_багатомовної_площини_якщо_їхня_наявність_раніше_у_рядку_відома">Виправлення <code>charCodeAt()</code> для обробки символів не базової багатомовної площини, якщо їхня наявність раніше у рядку відома</h3> - -<pre class="brush: js">function knownCharCodeAt(str, idx) { - str += ''; - var code, - end = str.length; - - var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; - while ((surrogatePairs.exec(str)) != null) { - var li = surrogatePairs.lastIndex; - if (li - 2 < idx) { - idx++; - } - else { - break; - } - } - - if (idx >= end || idx < 0) { - return NaN; - } - - code = str.charCodeAt(idx); - - var hi, low; - if (0xD800 <= code && code <= 0xDBFF) { - hi = code; - low = str.charCodeAt(idx + 1); - // Пройти на один далі, оскільки один з "символів" - // є частиною сурогатної пари - return ((hi - 0xD800) * 0x400) + - (low - 0xDC00) + 0x10000; - } - return code; -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.charcodeat', 'String.prototype.charCodeAt')}}</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.charCodeAt")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.fromCharCode()")}}</li> - <li>{{jsxref("String.prototype.charAt()")}}</li> - <li>{{jsxref("String.fromCodePoint()")}}</li> - <li>{{jsxref("String.prototype.codePointAt()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/codepointat/index.html b/files/uk/web/javascript/reference/global_objects/string/codepointat/index.html deleted file mode 100644 index 0a917f5885..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/codepointat/index.html +++ /dev/null @@ -1,142 +0,0 @@ ---- -title: String.prototype.codePointAt() -slug: Web/JavaScript/Reference/Global_Objects/String/codePointAt -tags: - - ECMAScript 2015 - - JavaScript - - String - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/codePointAt ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>codePointAt()</code></strong> вертає невід'ємне ціле число, яке є значенням коду символу Юнікоду.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-codepointat.html","shorter")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.codePointAt(<var>pos</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>pos</var></code></dt> - <dd>Позиція елемента у <code><var>str</var></code><var>,</var> код символа з якої треба повернути.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Число, що відображає значення коду символу з наданої позиції <code><var>pos</var></code>. Якщо на позиції <code>pos</code> немає елемента, вертається {{jsxref("undefined")}}.</p> - -<h2 id="Опис">Опис</h2> - -<p>Якщо на вказаній позиції немає елемента, повертається {{jsxref("undefined")}}. Якщо на позиції <code><var>pos</var></code> не починається сурогатна пара UTF-16, то повертається кодова одиниця позиції <code><var>pos</var></code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_codePointAt">Використання <code>codePointAt()</code></h3> - -<pre class="brush: js">'ABC'.codePointAt(1) // 66 -'\uD800\uDC00'.codePointAt(0) // 65536 - -'XYZ'.codePointAt(42) // undefined -</pre> - -<h3 id="Цикл_з_codePointAt">Цикл з <code>codePointAt()</code></h3> - -<pre class="brush: js"><code class="md-code md-lang-javascript"><span class="md-code-keyword">for</span> (<span class="md-code-keyword">let</span> codePoint of <span class="md-code-string">'\ud83d\udc0e\ud83d\udc71\u2764'</span>) { - <span class="md-code-built_in">console</span>.log(codePoint<mark class="md-mark md-code-mark">.codePointAt(<span class="md-code-number">0</span>).toString(<span class="md-code-number">16</span>)</mark>) -} -// <span class="md-code-comment">'1f40e', '1f471', '2764</span></code>'<code class="md-code md-lang-javascript"><span class="md-code-comment"> </span></code> -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>Наступний код додає у рядки функцію <code>codePointAt()</code> згідно специфікації ECMAScript 2015 для переглядачів без вбудованої підтримки.</p> - -<pre class="brush: js">/*! https://mths.be/codepointat v0.2.0 автор @mathias */ -if (!String.prototype.codePointAt) { - (function() { - 'use strict'; // необхідно для підтримки `apply`/`call` з `undefined`/`null` - var defineProperty = (function() { - // IE 8 підтримує `Object.defineProperty` лише на DOM-елементах - try { - var object = {}; - var $defineProperty = Object.defineProperty; - var result = $defineProperty(object, object, object) && $defineProperty; - } catch(error) {} - return result; - }()); - var codePointAt = function(position) { - if (this == null) { - throw TypeError(); - } - var string = String(this); - var size = string.length; - // `ToInteger` - var index = position ? Number(position) : 0; - if (index != index) { // краще `isNaN` - index = 0; - } - // Врахування індексів за межами існуючих значень: - if (index < 0 || index >= size) { - return undefined; - } - // Отримати першу кодову одиницю - var first = string.charCodeAt(index); - var second; - if ( // перевірити, чи вона є початком сурогатної пари - first >= 0xD800 && first <= 0xDBFF && // високий сурогат - size > index + 1 // існує наступна кодова одиниця - ) { - second = string.charCodeAt(index + 1); - if (second >= 0xDC00 && second <= 0xDFFF) { // низький сурогат - // https://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000; - } - } - return first; - }; - if (defineProperty) { - defineProperty(String.prototype, 'codePointAt', { - 'value': codePointAt, - 'configurable': true, - 'writable': true - }); - } else { - String.prototype.codePointAt = codePointAt; - } - }()); -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.codepointat', 'String.prototype.codePointAt')}}</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.codePointAt")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.fromCodePoint()")}}</li> - <li>{{jsxref("String.fromCharCode()")}}</li> - <li>{{jsxref("String.prototype.charCodeAt()")}}</li> - <li>{{jsxref("String.prototype.charAt()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/concat/index.html b/files/uk/web/javascript/reference/global_objects/string/concat/index.html deleted file mode 100644 index 861d951764..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/concat/index.html +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: String.prototype.concat() -slug: Web/JavaScript/Reference/Global_Objects/String/concat -tags: - - JavaScript - - String - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/concat ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>concat()</code></strong> об'єднує рядкові аргументи з рядком, що викликав метод, та повертає новий рядок.</span></p> - -<div>{{EmbedInteractiveExample("pages/js/string-concat.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox notranslate"><var>str</var>.concat(<var>str2</var> [, ...<var>strN</var>])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>str2</var> [, ...<var>strN</var>]</code></dt> - <dd>Рядки, які треба об'єднати з <code><var>str</var></code>.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий рядок, що містить поєднаний текст з наданих рядків.</p> - -<h2 id="Опис">Опис</h2> - -<p>Функція <code>concat()</code> об'єднує рядкові аргументи з рядком, що викликав функцію, та повертає новий рядок. Зміни у початковому рядку чи у поверненому рядку не впливають один на одного.</p> - -<p>Якщо аргументи не належать до рядкового типу, вони перетворюються на рядкові значення перед об'єднанням.</p> - -<h2 id="Швидкодія">Швидкодія</h2> - -<p>Наполегливо рекомендується використовувати {{jsxref("Operators/Assignment_Operators", "оператори присвоєння", "", 1)}} (<code>+</code>, <code>+=</code>) замість методу <code>concat()</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_concat">Використання <code>concat()</code></h3> - -<p>Наступний приклад об'єднує рядки у новий рядок.</p> - -<pre class="brush: js notranslate">let hello = 'Привіт, ' -console.log(hello.concat('Кевіне', '. Гарного дня.')) -// Привіт, Кевіне. Гарного дня. - -let greetList = ['Привіт', ' ', 'Віка', '!'] -"".concat(...greetList) // "Привіт, Віка!" - -"".concat({}) // [object Object] -"".concat([]) // "" -"".concat(null) // "null" -"".concat(true) // "true" -"".concat(4, 5) // "45" - -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.concat', 'String.prototype.concat')}}</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.concat")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Array.prototype.concat()")}}</li> - <li>{{jsxref("Operators/Оператори_присвоєння", "Оператори присвоєння", "", 1)}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/endswith/index.html b/files/uk/web/javascript/reference/global_objects/string/endswith/index.html deleted file mode 100644 index e387abf56c..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/endswith/index.html +++ /dev/null @@ -1,90 +0,0 @@ ---- -title: String.prototype.endsWith() -slug: Web/JavaScript/Reference/Global_Objects/String/endsWith -tags: - - JavaScript - - String - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>endsWith()</code></strong> визначає, чи завершується рядок символами вказаного рядка, повертаючи, відповідно, <code>true</code> чи <code>false</code>.</span></p> - -<div>{{EmbedInteractiveExample("pages/js/string-endswith.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.endsWith(<var>searchString</var>[, <var>length</var>])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>searchString</var></code></dt> - <dd>Символи, які шукатимуться в кінці рядка <code><var>str</var></code>.</dd> - <dt><code><var>length</var></code> {{optional_inline}}</dt> - <dd>Якщо наданий, використовується як довжина <code><var>str</var></code>. За замовчуванням дорівнює <code><var>str</var>.length</code>.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p><strong><code>true</code></strong>, якщо надані символи знайдені в кінці рядка; інакше, <strong><code>false</code></strong>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Цей метод дозволяє визначити, чи завершується рядок іншим рядком. Цей метод чутливий до регістру.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_endsWith">Використання <code>endsWith()</code></h3> - -<pre class="brush: js">let str = 'Питання в тому: бути чи не бути.' - -console.log(str.endsWith('бути.')) // true -console.log(str.endsWith('Питання')) // false -console.log(str.endsWith('Питання', 7)) // true -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>Цей метод був доданий до специфікації ECMAScript 6 та може поки не бути доступним в усіх реалізаціях JavaScript. Однак, ви можете створити поліфіл <code>String.prototype.endsWith()</code> за допомогою наступного коду:</p> - -<pre class="brush: js">if (!String.prototype.endsWith) { - String.prototype.endsWith = function(search, this_len) { - if (this_len === undefined || this_len > this.length) { - this_len = this.length; - } - return this.substring(this_len - search.length, this_len) === search; - }; -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.endswith', 'String.prototype.endsWith')}}</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.endsWith")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.startsWith()")}}</li> - <li>{{jsxref("String.prototype.includes()")}}</li> - <li>{{jsxref("String.prototype.indexOf()")}}</li> - <li>{{jsxref("String.prototype.lastIndexOf()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/fixed/index.html b/files/uk/web/javascript/reference/global_objects/string/fixed/index.html deleted file mode 100644 index c13fbaa65f..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/fixed/index.html +++ /dev/null @@ -1,62 +0,0 @@ ---- -title: String.prototype.fixed() -slug: Web/JavaScript/Reference/Global_Objects/String/fixed -tags: - - JavaScript - - String - - метод - - не рекомендований -translation_of: Web/JavaScript/Reference/Global_Objects/String/fixed ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>fixed()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/tt" title="Застарілий HTML-елемент Teletype Text (<tt>) створює внутрішній текст, який відображається за допомогою моноширинного обличчя шрифта користувацького агента."><code><tt></code></a>, який відображає рядок моноширинним шрифтом.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.fixed()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що відображає HTML-елемент <a href="/uk/docs/Web/HTML/Element/tt" title="Застарілий HTML-елемент Teletype Text (<tt>) створює внутрішній текст, який відображається за допомогою моноширинного обличчя шрифта користувацького агента."><code><tt></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>fixed()</code> вбудовує рядок у тег <code><tt></code>: <code>"<tt>str</tt>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_fixed">Використання <code>fixed()</code></h3> - -<p>Наступний приклад використовує метод <code>fixed</code>, щоб змінити форматування рядка:</p> - -<pre class="brush: js">var worldString = 'Привіт'; -console.log(worldString.fixed()); // "<tt>Привіт</tt>" -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.fixed', 'String.prototype.fixed')}}</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.fixed")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.bold()")}}</li> - <li>{{jsxref("String.prototype.italics()")}}</li> - <li>{{jsxref("String.prototype.strike()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/fontcolor/index.html b/files/uk/web/javascript/reference/global_objects/string/fontcolor/index.html deleted file mode 100644 index 5e1a68492b..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/fontcolor/index.html +++ /dev/null @@ -1,81 +0,0 @@ ---- -title: String.prototype.fontcolor() -slug: Web/JavaScript/Reference/Global_Objects/String/fontcolor -tags: - - JavaScript - - String - - метод - - не рекомендований -translation_of: Web/JavaScript/Reference/Global_Objects/String/fontcolor ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>fontcolor()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/font" title="HTML-елемент Font Element (<font>) визначає розмір, колір та обличчя шрифта для свого вмісту."><code><font></code></a>, який відображає рядок вказаним кольором.</p> - -<div class="note"> -<p><strong>Примітка щодо використання:</strong> Елемент <font> був прибраний у <a href="/uk/docs/Web/Guide/HTML/HTML5">HTML5</a> та більше не повинен використовуватись. Замість нього веб-розробникам варто використовувати властивості <a href="/uk/docs/Web/CSS">CSS</a>.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.fontcolor(<var>color</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>color</code></dt> - <dd>Рядок, що відображає колір у вигляді шістнадцяткової RGB-трійці або рядкового літералу. Рядкові літерали для імен кольорів перераховані у <a href="/uk/docs/Web/CSS/color_value">Довіднику кольорів CSS</a>.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/font" title="HTML-елемент Font Element (<font>) визначає розмір, колір та обличчя шрифта для свого вмісту."><code><font></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Якщо ви виражаєте колір шістнадцятковою RGB-трійцею, ви повинні використовувати формат <code>rrggbb</code>. Наприклад, шістнадцяткові RGB-значення для оранжево-рожевого (salmon) такі: red=FA, green=80 та blue=72, отже, RGB-трійця для оранжево-рожевого дорівнює <code>"FA8072"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_fontcolor">Використання <code>fontcolor()</code></h3> - -<p>Наступний приклад використовує метод <code>fontcolor()</code>, щоб змінити колір рядка, створюючи рядок з HTML-тегом <code><font></code>.</p> - -<pre class="brush: js">var worldString = 'Привіт'; - -console.log(worldString.fontcolor('red') + ' червоний у цьому рядку'); -// '<font color="red">Привіт</font> червоний у цьому рядку' - -console.log(worldString.fontcolor('FF00') + ' червоний у шістнадцятковому форматі у цьому рядку'); -// '<font color="FF00">Привіт</font> червоний у шістнадцятковому форматі у цьому рядку' -</pre> - -<p>За допомогою об'єкта <a href="/uk/docs/Web/API/HTMLElement/style" title="Властивість HTMLElement.style використовується для отримання, а також присвоєння внутрішнього стилю елемента. При отриманні вона вертає об'єкт CSSStyleDeclaration, який містить список усіх властивостей стилів для цього елемента, а також значення, присвоєні атрибутам, які визначені у внутрішньому атрибуті елемента style."><code>element.style</code></a> ви можете отримати атрибут елемента <code>style</code> та маніпулювати ним в більш загальному стилі, наприклад:</p> - -<pre class="brush: js">document.getElementById('yourElemId').style.color = 'red'; -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.fontcolor', 'String.prototype.fontcolor')}}</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.fontcolor")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.fontsize()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/fontsize/index.html b/files/uk/web/javascript/reference/global_objects/string/fontsize/index.html deleted file mode 100644 index c7cc26f07e..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/fontsize/index.html +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: String.prototype.fontsize() -slug: Web/JavaScript/Reference/Global_Objects/String/fontsize -tags: - - JavaScript - - String - - метод - - не рекомендований -translation_of: Web/JavaScript/Reference/Global_Objects/String/fontsize ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>fontsize()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/font" title="HTML-елемент Font Element (<font>) визначає розмір, колір та обличчя шрифта для свого вмісту."><code><font></code></a>, який відображає рядок вказаним розміром шрифта.</p> - -<div class="note"> -<p><strong>Примітка щодо використання:</strong> Елемент <font> був прибраний у <a href="/uk/docs/Web/Guide/HTML/HTML5">HTML5</a> та більше не повинен використовуватись. Замість нього веб-розробникам варто використовувати властивості <a href="/uk/docs/Web/CSS">CSS</a>.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.fontsize(<var>size</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>size</code></dt> - <dd>Ціле число в діапазоні між 1 та 7; рядок, що відображає ціле число зі знаком в діапазоні між 1 та 7.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/font" title="HTML-елемент Font Element (<font>) визначає розмір, колір та обличчя шрифта для свого вмісту."><code><font></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Коли ви вказуєте розмір як ціле число, ви встановлюєте розмір шрифта <code>str</code> одним з 7 визначених розмірів. Коли ви вказуєте значення <code>size</code> у вигляді рядка, наприклад, "-2", ви коригуєте розмір шрифта <code>str</code> відносно розміру, встановленого у тезі <a href="/uk/docs/Web/HTML/Element/basefont" title="Застарілий HTML-елемент Base Font (<basefont>) встановлює обличчя, розмір та колір шрифта за замовчуванням для елементів, які є нащадками батьківського елемента."><code><basefont></code></a>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_fontsize">Використання <code>fontsize()</code></h3> - -<p>Наступний приклад використовує рядкові методи, щоб змінити розмір рядка:</p> - -<pre class="brush: js">var worldString = 'Привіт'; - -console.log(worldString.small()); // <small>Привіт</small> -console.log(worldString.big()); // <big>Привіт</big> -console.log(worldString.fontsize(7)); // <font size="7">Привіт</fontsize> -</pre> - -<p>За допомогою об'єкта <a href="/uk/docs/Web/API/HTMLElement/style" title="Властивість HTMLElement.style використовується для отримання, а також присвоєння внутрішнього стилю елемента. При отриманні вона вертає об'єкт CSSStyleDeclaration, який містить список усіх властивостей стилів для цього елемента, а також значення, присвоєні атрибутам, які визначені у внутрішньому атрибуті елемента style."><code>element.style</code></a> ви можете отримати атрибут елемента <code>style</code> та маніпулювати ним у більш загальному стилі, наприклад:</p> - -<pre class="brush: js">document.getElementById('yourElemId').style.fontSize = '0.7em'; -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.fontsize', 'String.prototype.fontsize')}}</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.fontsize")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.big()")}}</li> - <li>{{jsxref("String.prototype.small()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/fromcharcode/index.html b/files/uk/web/javascript/reference/global_objects/string/fromcharcode/index.html deleted file mode 100644 index be8f695a24..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/fromcharcode/index.html +++ /dev/null @@ -1,109 +0,0 @@ ---- -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> diff --git a/files/uk/web/javascript/reference/global_objects/string/fromcodepoint/index.html b/files/uk/web/javascript/reference/global_objects/string/fromcodepoint/index.html deleted file mode 100644 index 2825480bfd..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/fromcodepoint/index.html +++ /dev/null @@ -1,171 +0,0 @@ ---- -title: String.fromCodePoint() -slug: Web/JavaScript/Reference/Global_Objects/String/fromCodePoint -tags: - - ECMAScript 2015 - - JavaScript - - Method - - String - - Довідка -translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCodePoint ---- -<div>{{JSRef}}</div> - -<p>Статичний метод <strong><code>String.fromCodePoint()</code></strong> повертає рядок, створений з послідовності кодів символів Unicode переданих цілими числами.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code>String.fromCodePoint(<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> - -<h3 id="Винятки">Винятки</h3> - -<ul> - <li>Викидає виняток <code>{{jsxref("Errors/Not_a_codepoint", "RangeError")}}</code>, якщо вказано непередбачений (відсутній) код символа Unicode (наприклад, "RangeError: Invalid code point NaN).</li> -</ul> - -<h2 id="Опис">Опис</h2> - -<p>Цей метод вертає власне рядок, що належить до {{glossary("Primitive", "простого типу даних")}}, а не об'єкт класу <code>{{jsxref("String")}}</code>.</p> - -<p>Позаяк <code>fromCodePoint()</code> є статичним методом класу <code>{{jsxref("String")}}</code>, він зазвичай використовується як <code>String.fromCodePoint()</code>, а не як метод створеного об'єкта класу.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_fromCodePoint()">Використання <code>fromCodePoint()</code></h3> - -<pre class="brush: js">String.fromCodePoint(42); // "*" -String.fromCodePoint(65, 90); // "AZ" -String.fromCodePoint(0x404, 0x490); // "ЄҐ" -String.fromCodePoint(0x2F804); // "\uD87E\uDC04" -String.fromCodePoint(194564); // "\uD87E\uDC04" -String.fromCodePoint(0x1D306, 0x61, 0x1D307) // "\uD834\uDF06a\uD834\uDF07" - -String.fromCodePoint('_'); // викидає RangeError -String.fromCodePoint(Infinity); // викидає RangeError -String.fromCodePoint(-1); // викидає RangeError -String.fromCodePoint(3.14); // викидає RangeError -String.fromCodePoint(3e-2); // викидає RangeError -String.fromCodePoint(NaN); // викидає RangeError -</pre> - -<pre class="brush: js">// Метод String.fromCharCode() не може створювати символи з такими великими кодами -// Натомість fromCodePoint() може створювати символи, що передаються двома кодовими одиницями (чотири байти), -// так само, як і звичайні двобайтні (тобто може створити рядок, що містить один символ, але має довжину 2 замість 1). -console.log(String.fromCodePoint(0x2F804)); // Значення 194564 в десятковій системі числення -</pre> - -<h2 id="Запасний_варіант_(поліфіл)">Запасний варіант (поліфіл)</h2> - -<p>Цей метод з'явився в ECMAScript 2015, тож, можливо, наявний не у всякій реалізації JavaScript. Проте, ви можете використати наступний код для забезпечення запасного варіанту:</p> - -<pre class="brush: js">/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */ -if (!String.fromCodePoint) { - (function() { - var defineProperty = (function() { - // IE 8 only supports `Object.defineProperty` on DOM elements - try { - var object = {}; - var $defineProperty = Object.defineProperty; - var result = $defineProperty(object, object, object) && $defineProperty; - } catch(error) {} - return result; - }()); - var stringFromCharCode = String.fromCharCode; - var floor = Math.floor; - var fromCodePoint = function() { - var MAX_SIZE = 0x4000; - var codeUnits = []; - var highSurrogate; - var lowSurrogate; - var index = -1; - var length = arguments.length; - if (!length) { - return ''; - } - var result = ''; - while (++index < length) { - var codePoint = Number(arguments[index]); - if ( - !isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity` - codePoint < 0 || // not a valid Unicode code point - codePoint > 0x10FFFF || // not a valid Unicode code point - floor(codePoint) != codePoint // not an integer - ) { - throw RangeError('Invalid code point: ' + codePoint); - } - if (codePoint <= 0xFFFF) { // BMP code point - codeUnits.push(codePoint); - } else { // Astral code point; split in surrogate halves - // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae - codePoint -= 0x10000; - highSurrogate = (codePoint >> 10) + 0xD800; - lowSurrogate = (codePoint % 0x400) + 0xDC00; - codeUnits.push(highSurrogate, lowSurrogate); - } - if (index + 1 == length || codeUnits.length > MAX_SIZE) { - result += stringFromCharCode.apply(null, codeUnits); - codeUnits.length = 0; - } - } - return result; - }; - if (defineProperty) { - defineProperty(String, 'fromCodePoint', { - 'value': fromCodePoint, - 'configurable': true, - 'writable': true - }); - } else { - String.fromCodePoint = fromCodePoint; - } - }()); -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - <th scope="col">Статус</th> - <th scope="col">Коментар</th> - </tr> - <tr> - <td>{{SpecName('ES2015', '#sec-string.fromcodepoint', 'String.fromCodePoint')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td>Первинне визначення.</td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.fromcodepoint', 'String.fromCodePoint')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.fromCodePoint")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.fromCharCode()")}}</li> - <li>{{jsxref("String.prototype.charAt()")}}</li> - <li>{{jsxref("String.prototype.codePointAt()")}}</li> - <li>{{jsxref("String.prototype.charCodeAt()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/includes/index.html b/files/uk/web/javascript/reference/global_objects/string/includes/index.html deleted file mode 100644 index bcfb01d5aa..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/includes/index.html +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: String.prototype.includes() -slug: Web/JavaScript/Reference/Global_Objects/String/includes -tags: - - JavaScript - - Method - - Prototype - - Reference - - String - - Довідка - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/includes ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>includes()</code></strong> визначає чи може один рядок бути знайденим всередині іншого, повертаючи, відповідно, <code>true</code> або <code>false</code>.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-includes.html", "shorter")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.includes(<var>searchString</var>[, <var>position</var>])</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>searchString</code></dt> - <dd>Рядок для пошуку всередині <em><code>str</code></em>.</dd> - <dt><code>position</code> {{optional_inline}}</dt> - <dd>Позиція всередині рядка, з якої буде почато пошук рядка <code>searchString</code>. (За замовчуванням 0).</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p><strong><code>true</code></strong>, якщо шуканий рядок знайдено де-завгодно всередині наданого рядка; інакше, <strong><code>false</code></strong>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Цей метод дозволяє визначити чи знаходиться один рядок всередині іншого.</p> - -<h3 id="Чутливість_до_регістру">Чутливість до регістру</h3> - -<p>Метод <code>includes()</code> є чутливим до регістру. Для прикладу, наступний вираз поверне <code>false</code>:</p> - -<pre class="brush: js">'Синій кит'.includes('синій'); // вертає false -</pre> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_includes">Використання <code>includes()</code></h3> - -<pre class="brush: js">var str = 'Питання в тому: бути чи не бути.'; - -console.log(str.includes('Питання')); // true -console.log(str.includes('бути')); // true -console.log(str.includes('неіснуючий')); // false -console.log(str.includes('Питання', 1)); // false -console.log(str.includes('ПИТАННЯ')); // false -console.log(str.includes('')); // true</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>Цей метод був доданий до специфікації ECMAScript 2015 і може бути недоступним у всіх реалізаціях JavaScript.</p> - -<p>Однак, ви можете легко розробити поліфіл для цього методу:</p> - -<pre class="brush: js">if (!String.prototype.includes) { - String.prototype.includes = function(search, start) { - 'use strict'; - - if (search instanceof RegExp) { - throw TypeError('first argument must not be a RegExp'); - } - if (start === undefined) { start = 0; } - return this.indexOf(search, start) !== -1; - }; -}</pre> - -<p class="brush: js"></p> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.includes', 'String.prototype.includes')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці, згенерована з структурованих даних. Якщо ви хочете внести свій вклад в дані, будь ласка, ознайомтесь з <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> і надішлість нам запит на додавання даних.</p> - -<p>{{Compat("javascript.builtins.String.includes")}}</p> - -<h2 id="String.prototype.contains">String.prototype.contains</h2> - -<p>У Firefox 18-39 назва цього методу була <code>contains()</code>. Він був перейменований на <code>includes()</code> у <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1102219">bug 1102219</a> у зв'язку з наступною причиною:</p> - -<p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=789036">Повідомлялося</a>, що деякі веб-сайти, які використовують MooTools 1.2 не працюють на Firefox 17. Ця версія MooTools перевіряла чи існує метод <code>String.prototype.contains()</code> та, якщо ні, то MooTools додає власну функцію.</p> - -<p>З введенням цієї функції у Firefox 17, поведінка цієї перевірки змінювалася таким чином, що ставала причиною непрацездатності коду на основі реалізації методу <code>String.prototype.contains()</code> від MooTools. В результаті реалізація була <a href="https://hg.mozilla.org/releases/mozilla-aurora/rev/086db97198a8">відключена</a> у Firefox 17, а <code>String.prototype.contains()</code> був доступний на одну версію пізніше, у Firefox 18, коли <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=789036#c32">налагодження зв'язків з MooTools </a>призвело до <a href="http://mootools.net/blog/2013/02/19/mootools-1-2-6-released">випуску MooTools версії 1.2.6</a>.</p> - -<p>MooTools 1.3 примусово запускає власну версію методу <code>String.prototype.contains()</code>, тож, веб-сайти, що покладаються на неї, не повинні ламатися. Однак, зауважте, що сигнатура цього методу відразняється для <a href="http://mootools.net/core/docs/1.3.2/Types/String#String-method:-contains">MooTools 1.3 </a>і ECMAScript 2015 (на місці другого аргумента). Пізніше, <a href="https://github.com/mootools/mootools-core/blob/master/Docs/Types/String.md#note">MooTools 1.5+ змінив сігнатуру у відповідності до стандарту ES2015.</a></p> - -<p>У Firefox 48 метод <code>String.prototype.contains()</code> було видалено. Використовуйте тільки <code>String.prototype.includes()</code>.</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Array.prototype.includes()")}}</li> - <li>{{jsxref("TypedArray.prototype.includes()")}}</li> - <li>{{jsxref("String.prototype.indexOf()")}}</li> - <li>{{jsxref("String.prototype.lastIndexOf()")}}</li> - <li>{{jsxref("String.prototype.startsWith()")}}</li> - <li>{{jsxref("String.prototype.endsWith()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/index.html b/files/uk/web/javascript/reference/global_objects/string/index.html deleted file mode 100644 index f28c4fb043..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/index.html +++ /dev/null @@ -1,374 +0,0 @@ ---- -title: String -slug: Web/JavaScript/Reference/Global_Objects/String -tags: - - ECMAScript 2015 - - JavaScript - - String - - Довідка - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String ---- -<div>{{JSRef}}</div> - -<p>Глобальний об'єкт <strong><code>String</code></strong> є конструктором для рядків, або послідовностей символів.</p> - -<h2 id="Опис">Опис</h2> - -<p>Рядки корисні для утримання данних, які можуть бути представлені в текстовій формі. Деякі з найбільш виконуваних операцій над рядками: перевірка їхньої {{jsxref("String.length", "довжини")}}, побудова та об'єднання рядків за допомогою <a href="/en-US/docs/Web/JavaScript/Reference/Operators/String_Operators">рядкових операторів + та +=</a>, перевірка наявності чи розташування підрядків методом {{jsxref("String.prototype.indexOf()", "indexOf()")}} чи копіювання підрядків методом {{jsxref("String.prototype.substring()", "substring()")}}.</p> - -<h3 id="Створення_рядків">Створення рядків</h3> - -<p>Рядки можна створювати як примітиви, з рядкових літералів, або як об'єкти, використовуючи конструктор {{jsxref("String/String")}}:</p> - -<pre class="brush: js notranslate">const string1 = "Рядковий примітив"; -const string2 = 'Теж рядковий примітив'; -const string3 = `І ще один рядковий примітив`; - -const string4 = new String("Об'єкт String");</pre> - -<p>Рядкові примітиви та рядкові об'єкти можна взаємно замінювати у більшості ситуацій. Дивіться нижче "<a href="https://wiki.developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/String$edit#String_primitives_and_String_objects">Рядкові примітиви та рядкові об'єкти</a>".</p> - -<p>Рядкові літерали можуть створюватись з використанням одинарних чи подвійних лапок, які працюють ідентично, або за допомогою зворотніх лапок <kbd>`</kbd>. Ця остання форма створює <a href="/uk/docs/Web/JavaScript/Reference/Template_literals">шаблонний літерал</a>: ця форма дозволяє інтерполювати вирази.</p> - -<h3 id="Доступ_до_символів">Доступ до символів</h3> - -<p>Існують два способи доступу до окремих символів рядка. Перший - це метод {{jsxref("String.prototype.charAt()", "charAt()")}}:</p> - -<pre class="brush: js notranslate">return 'кіт'.charAt(1); // вертає "і" -</pre> - -<p>Другий спосіб (запроваджений у ECMAScript 5) працює з рядком як з подібним до масиву об'єктом, де окремі символи відповідають числовому індексу:</p> - -<pre class="brush: js notranslate">return 'кіт'[1]; // вертає "і" -</pre> - -<p>Під час звернення до символу за допомогою дужкової нотації спроби видалити ці властивості чи присвоїти їм значення не матимуть успіху. Ці властивості не є доступними ані для запису, ані для налаштування. (Дивіться більше інформації у {{jsxref("Object.defineProperty()")}}.)</p> - -<h3 id="Порівняння_рядків">Порівняння рядків</h3> - -<p>У мові C для порівняння рядків використовується функція <code>strcmp()</code>. У JavaScript ви просто використовуєте оператори <a href="/uk/docs/Web/JavaScript/Reference/Operators/Оператори_порівняння">менше ніж та більше ніж</a>:</p> - -<pre class="brush: js notranslate">var a = 'а'; -var b = 'б'; -if (a < b) { // true - console.log(a + ' менше ніж ' + b); -} else if (a > b) { - console.log(a + ' більше ніж ' + b); -} else { - console.log(a + ' та ' + b + ' є рівними.'); -} -</pre> - -<p>Схожий результат можна отримати за допомогою методу {{jsxref("String.prototype.localeCompare()", "localeCompare()")}}, що успадковується екземплярами <code>String</code>.</p> - -<p>Зауважте, що <code>a == b</code> перевіряє рядки у <code><var>a</var></code> та <code><var>b</var></code> на рівність у звичайний чутливий до регістру спосіб. Якщо вам потрібно порівняння літер без врахування регістру, використовуйте функцію, схожу на цю:</p> - -<pre class="brush: js notranslate">function isEqual(str1, str2) -{ - return str1.toUpperCase() === str2.toUpperCase() -} // isEqual</pre> - -<p>Верхній регістр використовується замість нижнього в цій функції через деякі проблеми з перетвореннями символів у UTF-8.</p> - -<h3 id="Рядкові_примітиви_та_рядкові_обєкти">Рядкові примітиви та рядкові об'єкти</h3> - -<p>Зауважте, що JavaScript розрізняє об'єкти <code>String</code> та примітивні рядкові значення. (Те саме стосується типу {{jsxref("Boolean")}} та {{jsxref("Global_Objects/Число", "чисел")}}.)</p> - -<p>Рядкові літерали (позначаються подвійними чи одинарними лапками) та рядки, повернені викликами <code>String</code> не в контексті конструктора (тобто, без використання ключового слова {{jsxref("Operators/new", "new")}}) є примітивними рядками. JavaScript автоматично перетворює примітиви на об'єкти <code>String</code>, тому методи об'єкта <code>String</code> можливо використовувати на примітивних рядках. Там, де на примітивному рядку має бути викликаний метод або зустрічається звернення до властивості, JavaScript автоматично загорне рядковий примітив та викличе метод чи виконає звернення до властивості.</p> - -<pre class="brush: js notranslate">var s_prim = 'няв'; -var s_obj = new String(s_prim); - -console.log(typeof s_prim); // Виведе "string" -console.log(typeof s_obj); // Виведе "object" -</pre> - -<p>Рядкові примітиви та об'єкти <code>String</code> також дають різні результати при використанні {{jsxref("Global_Objects/eval", "eval()")}}. Примітиви, передані у <code>eval</code>, сприймаються як першокод; об'єкти <code>String</code> поводяться як усі об'єкти, повертаючи об'єкт. Наприклад:</p> - -<pre class="brush: js notranslate">var s1 = '2 + 2'; // створює рядковий примітив -var s2 = new String('2 + 2'); // створює об'єкт String -console.log(eval(s1)); // повертає число 4 -console.log(eval(s2)); // повертає рядок "2 + 2" -</pre> - -<p>Через це може статись помилка, якщо код зустрічає об'єкт <code>String</code> там, де очікує рядковий примітив, хоча, загалом, розробникам не потрібно хвилюватись щодо відмінностей.</p> - -<p>Об'єкт <code>String</code> завжди можна перетворити на його примітивний аналог методом {{jsxref("String.prototype.valueOf()", "valueOf()")}}.</p> - -<pre class="brush: js notranslate">console.log(eval(s2.valueOf())); // вертає число 4 -</pre> - -<h3 id="Екранування">Екранування</h3> - -<p>Спеціальні символи можна позначати за допомогою екранування:</p> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Код</th> - <th scope="col">Результат</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>\<var>XXX</var></code><br> - (де <code><var>XXX</var></code> - це 1–3 вісімкових цифр; діапазон <code>0</code>–<code>377</code>)</td> - <td>Символ ISO-8859-1 / код символа Юнікоду між <code>U+0000</code> та <code>U+00FF</code></td> - </tr> - <tr> - <td><code>\'</code></td> - <td>одинарні лапки</td> - </tr> - <tr> - <td><code>\"</code></td> - <td>подвійні лапки</td> - </tr> - <tr> - <td><code>\\</code></td> - <td>зворотній слеш</td> - </tr> - <tr> - <td><code>\n</code></td> - <td>новий рядок</td> - </tr> - <tr> - <td><code>\r</code></td> - <td>повернення каретки</td> - </tr> - <tr> - <td><code>\v</code></td> - <td>вертикальна табуляція</td> - </tr> - <tr> - <td><code>\t</code></td> - <td>горизонтальна табуляція</td> - </tr> - <tr> - <td><code>\b</code></td> - <td>повернення на крок</td> - </tr> - <tr> - <td><code>\f</code></td> - <td>зміна сторінки</td> - </tr> - <tr> - <td><code>\u<var>XXXX</var></code> (де <code><var>XXXX</var></code> - це 4 шістнадцяткових символа; діапазон <code>0x0000</code>–<code>0xFFFF</code>)</td> - <td>Кодова одиниця UTF-16 / код символа Юнікоду між <code>U+0000</code> та <code>U+FFFF</code></td> - </tr> - <tr> - <td><code>\u{<var>X</var>}</code> ... <code>\u{<var>XXXXXX</var>}</code><br> - (де <code><var>X</var>…<var>XXXXXX</var></code> - це 1–6 шістнадцяткових символів; діапазон <code>0x0</code>–<code>0x10FFFF</code>)</td> - <td>Кодова одиниця UTF-32 / код символа Юнікоду між <code>U+0000</code> та <code>U+10FFFF</code></td> - </tr> - <tr> - <td><code>\x<var>XX</var></code><br> - (де <code><var>XX</var></code> - це 2 шістнадцяткові символи; діапазон <code>0x00</code>–<code>0xFF</code>)</td> - <td>символ ISO-8859-1 / код символа Юнікоду між <code>U+0000</code> та <code>U+00FF</code></td> - </tr> - </tbody> -</table> - -<h3 id="Довгі_рядкові_літерали">Довгі рядкові літерали</h3> - -<p>Іноді ваш код міститиме рядки, які є дуже довгими. Замість того, щоб створювати рядки нескінченно довгі чи перенесені за примхою редактора, ви можете самостійно розбити текст на декілька рядків у коді, не вплинувши на реальний вміст літералу. Існує два способи це зробити.</p> - -<h4 id="Метод_1">Метод 1</h4> - -<p>Ви можете скористатись оператором <a href="/uk/docs/Web/JavaScript/Reference/Operators/Addition">+</a> для поєднання багатьох рядків, ось так:</p> - -<pre class="brush: js notranslate">let longString = "Це дуже довгий текст, його треба " + - "записати в декілька рядків," + - "інакше мій код буде важко читати."</pre> - -<h4 id="Метод_2">Метод 2</h4> - -<p>Ви можете скористатись символом зворотній слеш (<code>\</code>) в кінці кожного рядка, щоб позначити, що текст продовжується на наступному рядку. Переконайтесь, що після зворотнього слеша немає пробілу чи будь-якого іншого символу (окрім символу розриву рядка), або відступу; інакше, це не спрацює.</p> - -<p>Ця форма виглядає ось так:</p> - -<pre class="brush: js notranslate">let longString = "Це дуже довгий текст, його треба \ -записати в декілька рядків, \ -інакше мій код буде важко читати."</pre> - -<p>Обидва наведені методи виводять ідентичні рядки.</p> - -<h2 id="Конструктор">Конструктор</h2> - -<dl> - <dt>{{jsxref("String/String", "String()")}}</dt> - <dd>Створює новий об'єкт <code>String</code>. Він виконує перетворення типів, коли викликається як функція, а не як конструктор, що, зазвичай, більш корисно.</dd> -</dl> - -<h2 id="Статичні_методи">Статичні методи</h2> - -<dl> - <dt>{{jsxref("String.fromCharCode()", "String.fromCharCode(<var>num1</var> [, ...[, <var>numN</var>]])")}}</dt> - <dd>Вертає рядок, створений за допомогою вказаної послідовності значень Юнікоду.</dd> - <dt>{{jsxref("String.fromCodePoint()", "String.fromCodePoint(<var>num1</var> [, ...[, <var>numN</var>)")}}</dt> - <dd>Вертає рядок, створений за допомогою вказаної послідовності кодів символів.</dd> - <dt>{{jsxref("String.raw()")}}</dt> - <dd>Вертає рядок, створений з сирого шаблонного рядка.</dd> -</dl> - -<h2 id="Властивості_екземплярів">Властивості екземплярів</h2> - -<dl> - <dt>{{jsxref("String.prototype.length")}}</dt> - <dd>Відображає довжину рядка. Доступна лише для читання.</dd> -</dl> - -<h2 id="Методи_екземплярів">Методи екземплярів</h2> - -<dl> - <dt>{{jsxref("String.prototype.charAt()", "String.prototype.charAt(<var>index</var>)")}}</dt> - <dd>Вертає символ (рівно одну кодову одиницю UTF-16), розташований за вказаним індексом <code><var>index</var></code>.</dd> - <dt>{{jsxref("String.prototype.charCodeAt()", "String.prototype.charCodeAt(<var>index</var>)")}}</dt> - <dd>Вертає число, яке є значенням кодової одиниці UTF-16, розташованої за вказаним індексом <code><var>index</var></code>.</dd> - <dt>{{jsxref("String.prototype.codePointAt()", "String.prototype.codePointAt(<var>pos</var>)")}}</dt> - <dd>Вертає невід'ємне ціле число, яке є значенням коду символу UTF-16, що починається на вказаній позиції <code><var>pos</var></code>.</dd> - <dt>{{jsxref("String.prototype.concat()", "String.prototype.concat(<var>str </var>[, ...<var>strN </var>])")}}</dt> - <dd>Об'єднує текст двох (або більше) рядків та повертає новий рядок.</dd> - <dt>{{jsxref("String.prototype.includes()", "String.prototype.includes(<var>searchString</var> [, <var>position</var>])")}}</dt> - <dd>Визначає, чи містить рядок, що викликав метод, рядок <code><var>searchString</var></code>.</dd> - <dt>{{jsxref("String.prototype.endsWith()", "String.prototype.endsWith(<var>searchString</var> [, <var>length</var>])")}}</dt> - <dd>Визначає, чи завершується рядок символами рядка <code><var>searchString</var></code>.</dd> - <dt>{{jsxref("String.prototype.indexOf()", "String.prototype.indexOf(<var>searchValue</var> [, <var>fromIndex</var>])")}}</dt> - <dd>Вертає індекс всередині об'єкта {{jsxref("String")}}, що викликав метод, першого знайденого значення <code><var>searchValue</var></code>, або <code>-1</code>, якщо воно не знайдене.</dd> - <dt>{{jsxref("String.prototype.lastIndexOf()", "String.prototype.lastIndexOf(<var>searchValue</var> [, <var>fromIndex</var>])")}}</dt> - <dd>Вертає індекс всередині об'єкта {{jsxref("String")}}, що викликав метод, останнього знайденого значення <code><var>searchValue</var></code>, або <code>-1</code>, якщо значення не знайдене.</dd> - <dt>{{jsxref("String.prototype.localeCompare()", "String.prototype.localeCompare(<var>compareString</var> [, <var>locales</var> [, <var>options</var>]])")}}</dt> - <dd>Вертає число, що вказує, чи розташований рядок <code><var>compareString</var></code> перед, після, чи однаково, відносно наданого рядка у відсованій послідовності.</dd> - <dt>{{jsxref("String.prototype.match()", "String.prototype.match(<var>regexp</var>)")}}</dt> - <dd>Використовується, щоб зіставити регулярний вираз <code><var>regexp</var></code> з рядком.</dd> - <dt>{{jsxref("String.prototype.matchAll()", "String.prototype.matchAll(<var>regexp</var>)")}}</dt> - <dd>Вертає ітератор усіх збігів з регулярним виразом.</dd> - <dt>{{jsxref("String.prototype.normalize()", "String.prototype.normalize([<var>form</var>])")}}</dt> - <dd>Вертає рядкове значення, на якому викликано метод, у формі нормалізації Юнікоду.</dd> - <dt>{{jsxref("String.prototype.padEnd()", "String.prototype.padEnd(<var>targetLength</var> [, <var>padString</var>])")}}</dt> - <dd>Доповнює поточний рядок наданим рядком з кінця та повертає новий рядок, що має довжину <code><var>targetLength</var></code>.</dd> - <dt>{{jsxref("String.prototype.padStart()", "String.prototype.padStart(<var>targetLength</var> [, <var>padString</var>])")}}</dt> - <dd>Доповнює поточний рядок наданим рядком з початку та повертає новий рядок, що має довжину <code><var>targetLength</var></code>.</dd> - <dt>{{jsxref("String.prototype.repeat()", "String.prototype.repeat(<var>count</var>)")}}</dt> - <dd>Повертає рядок, що складається з елементів об'єкта, повторених <code><var>count</var></code> разів.</dd> - <dt>{{jsxref("String.prototype.replace()" , "String.prototype.replace(<var>searchFor</var>, <var>replaceWith</var>)")}}</dt> - <dd>Використовується, щоб замінити <code><em>searchFor</em></code> заміною <em><code>replaceWith</code></em>. <em><code>searchFor</code></em> може бути рядком або регулярним виразом, а <code><var>replaceWith</var></code> може бути рядком чи функцією.</dd> - <dt>{{jsxref("String.prototype.replaceAll()" , "String.prototype.replaceAll(<var>searchFor</var>, <var>replaceWith</var>)")}}</dt> - <dd>Використовується, щоб замінити усі збіги з шаблоном <em><code>searchFor</code></em> заміною <code><var>replaceWith</var></code>. <code><var>searchFor</var></code> може бути рядком або регулярним виразом, а <code><var>replaceWith</var></code> може бути рядком або функцією.</dd> - <dt>{{jsxref("String.prototype.search()", "String.prototype.search(<var>regexp</var>)")}}</dt> - <dd>Шукає збіг між регулярним виразом <code><var>regexp</var></code> та рядком, що викликав метод.</dd> - <dt>{{jsxref("String.prototype.slice()", "String.prototype.slice(<var>beginIndex</var>[, <var>endIndex</var>])")}}</dt> - <dd>Вирізає частину рядка та повертає новий рядок.</dd> - <dt>{{jsxref("String.prototype.split()", "String.prototype.split([<var>sep</var> [, <var>limit</var>] ])")}}</dt> - <dd>Вертає масив рядків, заповнених розділенням початкового рядка підрядком <code><var>sep</var></code>.</dd> - <dt>{{jsxref("String.prototype.startsWith()", "String.prototype.startsWith(<var>searchString</var> [, <var>length</var>])")}}</dt> - <dd>Визначає, чи починається рядок з символів рядка <code><var>searchString</var></code>.</dd> - <dt>{{jsxref("String.prototype.substr()")}}</dt> - <dd>Повертає вказану кільксть символів на початку рядка з вказаної позиції.</dd> - <dt>{{jsxref("String.prototype.substring()", "String.prototype.substring(<var>indexStart</var> [, <var>indexEnd</var>])")}}</dt> - <dd>Повертає рядок, що містить символи рядка від вказаного індекса, або між вказаними індексами.</dd> - <dt>{{jsxref("String.prototype.toLocaleLowerCase()", "String.prototype.toLocaleLowerCase( [<var>locale</var>, ...<var>locales</var>])")}}</dt> - <dd> - <p>Символи рядка переводяться до нижнього регістра відповідно до поточних регіональних налаштувань.</p> - - <p>Для більшості мов результат буде такий самий, як у {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}.</p> - </dd> - <dt>{{jsxref("String.prototype.toLocaleUpperCase()", "String.prototype.toLocaleUpperCase( [<var>locale</var>, ...<var>locales</var>])")}}</dt> - <dd> - <p>Символи рядка переводяться до верхнього регістра відповідно до поточних регіональних налаштувань.</p> - - <p>Для більшості мов результат буде такий самий, як у {{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}.</p> - </dd> - <dt>{{jsxref("String.prototype.toLowerCase()")}}</dt> - <dd>Повертає значення рядка, переведене до нижнього регістра.</dd> - <dt>{{jsxref("String.prototype.toString()")}}</dt> - <dd>Повертає рядкове представлення вказаного об'єкта. Заміщує метод {{jsxref("Object.prototype.toString()")}}.</dd> - <dt>{{jsxref("String.prototype.toUpperCase()")}}</dt> - <dd>Повертає значення рядка, переведене до верхнього регістра.</dd> - <dt>{{jsxref("String.prototype.trim()")}}</dt> - <dd>Прибирає пробіли з початку та кінця рядка. Частина стандарту ECMAScript 5.</dd> - <dt>{{jsxref("String.prototype.trimStart()")}}</dt> - <dd>Видаляє пробіли з початку рядка.</dd> - <dt>{{jsxref("String.prototype.trimEnd()")}}</dt> - <dd>Видаляє пробіли з кінця рядка.</dd> - <dt>{{jsxref("String.prototype.valueOf()")}}</dt> - <dd>Повертає просту величину вказаного об'єкта. Заміщує метод {{jsxref("Object.prototype.valueOf()")}}.</dd> - <dt>{{jsxref("String.prototype.@@iterator()")}}</dt> - <dd>Повертає новий об'єкт <code>Iterator</code>, який перебирає коди символів рядка, повертаючи кожний код символа рядкового значення.</dd> -</dl> - -<h2 id="Методи_HTML-обгортки">Методи HTML-обгортки</h2> - -<p><strong>Застарілі. Уникайте цих методів.</strong></p> - -<p>Вони обмежено використовуються, оскільки надають набір доступних тегів та атрибутів HTML.</p> - -<dl> - <dt>{{jsxref("String.prototype.anchor()")}}</dt> - <dd>{{htmlattrxref("name", "a", "<a name=\"name\">")}} (гіпертекстове посилання)</dd> - <dt>{{jsxref("String.prototype.big()")}}</dt> - <dd>{{HTMLElement("big")}}</dd> - <dt>{{jsxref("String.prototype.blink()")}}</dt> - <dd>{{HTMLElement("blink")}}</dd> - <dt>{{jsxref("String.prototype.bold()")}}</dt> - <dd>{{HTMLElement("b")}}</dd> - <dt>{{jsxref("String.prototype.fixed()")}}</dt> - <dd>{{HTMLElement("tt")}}</dd> - <dt>{{jsxref("String.prototype.fontcolor()")}}</dt> - <dd>{{htmlattrxref("color", "font", "<font color=\"color\">")}}</dd> - <dt>{{jsxref("String.prototype.fontsize()")}}</dt> - <dd>{{htmlattrxref("size", "font", "<font size=\"size\">")}}</dd> - <dt>{{jsxref("String.prototype.italics()")}}</dt> - <dd>{{HTMLElement("i")}}</dd> - <dt>{{jsxref("String.prototype.link()")}}</dt> - <dd>{{htmlattrxref("href", "a", "<a href=\"url\">")}} (посилання на URL)</dd> - <dt>{{jsxref("String.prototype.small()")}}</dt> - <dd>{{HTMLElement("small")}}</dd> - <dt>{{jsxref("String.prototype.strike()")}}</dt> - <dd>{{HTMLElement("strike")}}</dd> - <dt>{{jsxref("String.prototype.sub()")}}</dt> - <dd>{{HTMLElement("sub")}}</dd> - <dt>{{jsxref("String.prototype.sup()")}}</dt> - <dd>{{HTMLElement("sup")}}</dd> -</dl> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Перетворення_рядка">Перетворення рядка</h3> - -<p>Можливо використовувати <code>String</code> як більш надійну альтернативу {{jsxref("String.prototype.toString()", "toString()")}}, оскільки вона працює при використанні з {{jsxref("null")}}, {{jsxref("undefined")}} та {{jsxref("Symbol", "символами")}}. Наприклад:</p> - -<pre class="brush: js notranslate">var outputStrings = []; -for (let i = 0, n = inputValues.length; i < n; ++i) { - outputStrings.push(String(inputValues[i])); -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string-objects', 'String')}}</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.String")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li><a href="/uk/docs/Web/JavaScript/Guide/Text_formatting">Форматування тексту у посібнику JavaScript Guide</a></li> - <li>{{jsxref("RegExp")}}</li> - <li>{{domxref("DOMString")}}</li> - <li><a href="/uk/Add-ons/Code_snippets/StringView"><code>StringView</code> — C-подібне відображення рядків на основі типизованих масивів</a></li> - <li><a href="/uk/docs/Web/API/DOMString/Binary">Двійкові рядки</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/indexof/index.html b/files/uk/web/javascript/reference/global_objects/string/indexof/index.html deleted file mode 100644 index 3c0639bad4..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/indexof/index.html +++ /dev/null @@ -1,154 +0,0 @@ ---- -title: String.prototype.indexOf() -slug: Web/JavaScript/Reference/Global_Objects/String/indexOf -tags: - - JavaScript - - Prototype - - String - - Довідка - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>indexOf()</code></strong> починає пошук від символа за індексом <code>fromIndex</code> всередині об'єкта <code>{{jsxref("String")}}</code>, з якого здійснюється виклик метода, і вертає індекс першого знайденого збігу із шуканим значенням. Якщо значення не знайдене, повертає <code>-1</code>.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-indexof.html")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<div class="note"><strong>Заувага:</strong> Клас <code>Array</code> має подібний метод <code>{{jsxref("Array.prototype.indexOf()", "indexOf()")}}</code>.</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.indexOf(<var>searchValue</var>[, <var>fromIndex</var>])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><em><code>searchValue</code></em></dt> - <dd>Рядок, що є шуканим значенням.</dd> - <dd>Якщо рядок явно не заданий, <a href="https://tc39.github.io/ecma262/#sec-tostring"><var>searchValue</var> буде примусово приведений до <code>"undefined"</code></a>, і пошук цього значення буде здійснюватись у <code><var>str</var></code>.</dd> - <dd>Отже, для прикладу: <code>'undefined'.indexOf()</code> поверне <code>0</code>, оскільки значення undefined знайдене на позиції <code>0</code>, але <code>'undefine'.indexOf()</code> поверне <code>-1</code>, оскільки рядок <code>"undefine"</code> не знайдений.</dd> - <dt><em><code>fromIndex</code> </em>{{optional_inline}}</dt> - <dd>Ціле число, що позначає індекс, з якого має розпочинатися пошук; за замовчуванням дорівнює <code>0</code>.</dd> - <dd>Якщо вказане значення <code>fromIndex</code> менше за <code>0</code> чи більше за <code>str.length</code>, пошук розпочнеться з індексу <code>0</code> та <code>str.length</code>, відповідно.</dd> - <dd>Для прикладу, <code>'всім привіт'.indexOf('м', -5)</code> поверне <code>3</code>, оскільки метод почне пошук з позициї <code>0</code>, а <code>м</code> знайдеться на позиції <code>3</code>. З іншого боку, <code>'всім привіт'.indexOf('м', 11)</code> (і з будь-яким значенням <code>fromIndex</code>, більшим за <code>11</code>) поверне <code>-1</code>, оскільки пошук починається з позиції <code>11</code>, позиції <em>після</em> кінця рідка.</dd> -</dl> - -<h3 id="Вертає">Вертає</h3> - -<p>Індекс першого знайденого збігу з <em><code>searchValue</code></em>, або <strong><code>-1</code></strong>, якщо жодного збігу не знайдено.</p> - -<p>Порожній рядок <code><var>searchValue</var></code> призводить до дивних результатів. За відсутності значення <code><var>fromIndex</var></code>, чи будь-якого значення <em><code>fromIndex</code></em>, нижчого за довжину рядка, повернене значення буде таким самим, як значення <code><var>fromIndex</var></code>:</p> - -<pre class="brush: js">'всім привіт'.indexOf('') // вертає 0 -'всім привіт'.indexOf('', 0) // вертає 0 -'всім привіт'.indexOf('', 3) // вертає 3 -'всім привіт'.indexOf('', 8) // вертає 8</pre> - -<p>Однак, якщо значення <code><var>fromIndex</var></code> є рівним або більшим за довжину рядка, повернене значення <em>дорівнює</em> довжині рядка:</p> - -<pre class="brush: js">'всім привіт'.indexOf('', 11) // вертає 11 -'всім привіт'.indexOf('', 13) // вертає 11 -'всім привіт'.indexOf('', 22) // вертає 11</pre> - -<p>В минулій версії JS порожній рядок відшукувався одразу після вказаного значення індексу. У останній версії JS порожній рядок буде знайдений в кінці рядка, в якому здійснюється пошук.</p> - -<h2 id="Опис">Опис</h2> - -<p>Символи рядка індексуються зліва направо. Індекс першого символу дорівнює <code>0</code>, а індекс останнього символу рядка <code><em>stringName</em></code> дорівнює <code><em>stringName</em>.length - 1</code>.</p> - -<pre class="brush: js">'Непозбувна бентега'.indexOf('Непозбувна'); // вертає 0 -'Непозбувна бентега'.indexOf('Непозбувний'); // вертає -1 -'Непозбувна бентега'.indexOf('бентега', 0); // вертає 11 -'Непозбувна бентега'.indexOf('бентега', 5); // вертає 11 -'Непозбувна бентега'.indexOf('бентега', 12); // вертає -1 -'Розкішниця'.indexOf(''); // вертає 0 -'Розкішниця'.indexOf('', 9); // вертає 9 -'Розкішниця'.indexOf('', 10); // вертає 10 -'Розкішниця'.indexOf('', 11); // вертає 10</pre> - -<p>Метод <code>indexOf()</code> є регістрозалежним. Наприклад, вираз нижче повертає <code>-1</code>:</p> - -<pre class="brush: js">'Непозбувна бентега'.indexOf('Бентега'); // вертає -1 -</pre> - -<h3 id="Перевірка_наявності_підрядка">Перевірка наявності підрядка</h3> - -<p>Зважте на те, що <code>0</code> не обчислюється як <code>true</code>, а <code>-1</code> не обчислюється як <code>false</code>. Отже, належить у явний спосіб порівнювати значення, що повертається методом <code>indexOf()</code>, зі значенням <code>-1</code>:</p> - -<pre class="brush: js">'Непозбувна бентега'.indexOf('бентега') !== -1; // true -'Непозбувна бентега'.indexOf('Бентега') !== -1; // false -~('Непозбувна бентега'.indexOf('Непозбувний')) // 0, тобто, хибне значення</pre> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_indexOf">Використання <code>indexOf()</code></h3> - -<p>Наступний приклад використовує <code>indexOf()</code>, щоб знайти значення у рядку <code>"абабагаламага"</code>.</p> - -<pre class="brush: js">const str = '<code>абабагаламага</code>' - -console.log('Індекс першої г з початку дорівнює ' + str.indexOf('г')) // виводить 5 -console.log('Індекс "баба" з початку дорівнює ' + str.indexOf('баба')) // виводить 1</pre> - -<h3 id="Регістрозалежність_метода_indexOf">Регістрозалежність метода <code>indexOf()</code></h3> - -<p>В цьому прикладі наведено два текстових рядки.</p> - -<p>Їх вміст є майже однаковим, але у <code>myCapString</code> слова починаються з великої літери. Перший метод <a href="/uk/docs/Web/API/Console/log" title="The Console method log() outputs a message to the web console."><code>console.log()</code></a> виводить <code>13</code>. Але, через те, що метод <code>indexOf()</code> чутливий до регістру, рядок <code>"камамбер"</code> не знаходиться у <code>myCapString</code>, а отже, другий метод <code>console.log()</code> виводить <code>-1</code>.</p> - -<pre class="brush: js">var myString = 'брі, дорблю, камамбер'; -var myCapString = 'Брі, Дорблю, Камамбер'; - -console.log('myString.indexOf("камамбер") дорівнює ' + myString.indexOf('камамбер')) -// виводить 13 -console.log('myCapString.indexOf("камамбер") дорівнює ' + myCapString.indexOf('камамбер')) -// виводить -1</pre> - -<h3 id="Використання_indexOf_для_підрахунку_кількості_вживань_літери_у_рядку">Використання <code>indexOf()</code> для підрахунку кількості вживань літери у рядку</h3> - -<p>Наступний приклад присвоює змінній <code>count</code> число вживать літери <code>с</code> у рядку <code>str</code>:</p> - -<pre class="brush: js">const str = 'Буває, часом сліпну від краси.' -let count = 0 -let position = str.indexOf('с') - -while (position !== -1) { - count++ - position = str.indexOf('с', position + 1) -} - -console.log(count) // виводить 3</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<div class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.String.indexOf")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.charAt()")}}</li> - <li>{{jsxref("String.prototype.lastIndexOf()")}}</li> - <li>{{jsxref("String.prototype.includes()")}}</li> - <li>{{jsxref("String.prototype.split()")}}</li> - <li>{{jsxref("Array.prototype.indexOf()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/italics/index.html b/files/uk/web/javascript/reference/global_objects/string/italics/index.html deleted file mode 100644 index 9d66e85e66..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/italics/index.html +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: String.prototype.italics() -slug: Web/JavaScript/Reference/Global_Objects/String/italics -tags: - - JavaScript - - String - - метод - - не рекомендований -translation_of: Web/JavaScript/Reference/Global_Objects/String/italics ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>italics()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/i" title="HTML-елемент <i> відображає текст, що з якихось причин виділяється серед звичайного тексту."><code><i></code></a>, який відображає рядок курсивом.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.italics()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/i" title="HTML-елемент <i> відображає текст, що з якихось причин виділяється серед звичайного тексту."><code><i></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>italics()</code> вбудовує рядок у тег <code><i></code>: <code>"<i>str</i>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_italics">Використання <code>italics()</code></h3> - -<p>Наступний приклад використовує рядкові методи, щоб змінити форматування рядка:</p> - -<pre class="brush: js">var worldString = 'Всім привіт'; -console.log(worldString.blink()); // <blink>Всім привіт</blink> -console.log(worldString.bold()); // <b>Всім привіт</b> -console.log(worldString.italics()); // <i>Всім привіт</i> -console.log(worldString.strike()); // <strike>Всім привіт</strike> -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.italics', 'String.prototype.italics')}}</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.italics")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.blink()")}}</li> - <li>{{jsxref("String.prototype.bold()")}}</li> - <li>{{jsxref("String.prototype.strike()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/lastindexof/index.html b/files/uk/web/javascript/reference/global_objects/string/lastindexof/index.html deleted file mode 100644 index e307125881..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/lastindexof/index.html +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: String.prototype.lastIndexOf() -slug: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf -tags: - - JavaScript - - Prototype - - String - - Довідка - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>lastIndexOf()</code></strong> повертає у об'єкті {{jsxref("String")}}, що його викликав, індекс останнього вживання вказаного значення. Пошук здійснюється з кінця рядка, починаючи з індекса <code>fromIndex</code>. Повертає -1, якщо значення не було знайдене.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-lastindexof.html", "shorter")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.lastIndexOf(<var>searchValue</var>[, <var>fromIndex</var>])</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>searchValue</code></dt> - <dd>Рядок, що є шуканим значенням. Якщо <code>searchValue</code> є порожнім рядком, то повертається <code>fromIndex</code>.</dd> - <dt><code>fromIndex </code>{{optional_inline}}</dt> - <dd>Індекс останнього символу у рядку, який розглядатиметься як початок збігу. Значенням за замовчуванням є <code>+Infinity</code>. Якщо <code>fromIndex >= str.length</code>, пошук здійснюється по всьому рядку. Якщо <code>fromIndex < 0</code>, то результат буде той самий, що і за <code>fromIndex = 0</code>.</dd> -</dl> - -<h3 id="Вертає">Вертає</h3> - -<p>Індекс останнього знайденого збігу (першого з кінця); якщо збігу не знайдено, вертає значення <strong>-1</strong>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Символи рядка мають індекси зліва направо. Індексом першого символу є <code>0</code>, а індексом останнього <code>str.length - 1</code>.</p> - -<pre class="brush: js">'морок'.lastIndexOf('о'); // вертає 3 -'морок'.lastIndexOf('о', 2); // вертає 1 -'морок'.lastIndexOf('о', 0); // вертає -1 -'морок'.lastIndexOf('ф'); // вертає -1 -'морок'.lastIndexOf('м', -5); // вертає 0 -'морок'.lastIndexOf('м', 0); // вертає 0 -'морок'.lastIndexOf(''); // вертає 5 -'морок'.lastIndexOf('', 2); // вертає 2 -</pre> - -<div class="blockIndicator note"> -<p><strong>Заувага:</strong> <code>'баба'.lastIndexOf('ба', 2)</code> поверне 2, а не 0, оскільки fromIndex обмежує лише початок збігу.</p> -</div> - -<h3 id="Регістрозалежність_метода_lastIndexOf">Регістрозалежність метода <code>lastIndexOf()</code></h3> - -<p>Метод <code>lastIndexOf()</code> чутливий до регістру. Наприклад, наступний вираз вертає -1:</p> - -<pre class="brush: js">'Брі, Дорблю, Камамбер'.lastIndexOf('дорблю'); // вертає -1</pre> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_indexOf_та_lastIndexOf">Використання <code>indexOf()</code> та <code>lastIndexOf()</code></h3> - -<p>Наступний приклад використовує {{jsxref("String.prototype.indexOf()", "indexOf()")}} та <code>lastIndexOf()</code>, щоб знайти значення у рядку <code>"абабагаламага</code><code>"</code>.</p> - -<pre class="brush: js">var anyString = 'абабагаламага'; - -console.log('Індекс першого "га" з початку дорівнює ' + anyString.indexOf('га')); -// виводить 5 -console.log('Індекс першого "га" з кінця дорівнює ' + anyString.lastIndexOf('га')); -// виводить 11 -console.log('Індекс "баба" з початку дорівнює ' + anyString.indexOf('баба')); -// виводить 1 -console.log('Індекс "баба" з кінця дорівнює ' + anyString.lastIndexOf('баба')); -// виводить 1</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.lastindexof', 'String.prototype.lastIndexOf')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.lastIndexOf")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.charAt()")}}</li> - <li>{{jsxref("String.prototype.indexOf()")}}</li> - <li>{{jsxref("String.prototype.split()")}}</li> - <li>{{jsxref("Array.prototype.indexOf()")}}</li> - <li>{{jsxref("Array.prototype.lastIndexOf()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/length/index.html b/files/uk/web/javascript/reference/global_objects/string/length/index.html deleted file mode 100644 index b52a468f96..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/length/index.html +++ /dev/null @@ -1,105 +0,0 @@ ---- -title: string.length -slug: Web/JavaScript/Reference/Global_Objects/String/length -tags: - - JavaScript - - Property - - Prototype - - String - - Властивість - - Довідка - - довжина - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/length ---- -<div>{{JSRef}}</div> - -<p>Властивість <strong><code>length</code></strong> об'єкта {{jsxref("String")}} містить довжину рядка у кодових одиницях UTF-16. Це властивість-значення рядкових екземплярів, доступна лише для читання.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-length.html", "shorter")}}</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.length</code></pre> - -<h2 id="Опис">Опис</h2> - -<p>Ця властивість повертає кількість кодових одиниць (англ. code unit), які утворюють рядок. У JavaScript для рядків використовується кодування {{interwiki("wikipedia", "UTF-16")}}, яке вживає одну 16-бітну (двобайтну) кодову одиницю для передачі більшості загальновживаних символів, але для менш поширених воно потребує двох кодових одиниць. Отже, значення, <code>length</code> та справжня кількість символів рядка не завжди збігаються.</p> - -<p>У ECMAScript 2016 (вер. 7) було встановлено максимальну довжину у <code>2^53 - 1</code> елементів. Попередньо не було визначено ніякої максимальної довжини. У Firefox рядки мають максимальну довжину <code>2**30 - 2</code> (~1ГБ). У версіях, більш ранніх за Firefox 65, максимальна довжина складала <code>2**28 - 1</code> (~256МБ).</p> - -<p>Для порожнього рядка <code>length</code> дорівнює 0.</p> - -<p>Статична властивість <code>String.length</code> не пов'язана з довжиною рядків, це арність функції <code>String</code> (загалом, це кількість формальних параметрів, що вона має), яка дорівнює 1.</p> - -<h2 id="Юнікод">Юнікод</h2> - -<p>Оскільки `length` рахує кодові одиниці замість символів, якщо вам треба отримати кількість символів, вам знадобиться щось таке:</p> - -<pre class="brush: js">function getCharacterLength (str) { - // Ітератор рядка, що тут використовується, перебирає символи, - // а не просто кодові одиниці - return [...str].length; -} - -console.log(getCharacterLength('A\uD87E\uDC04Z')); // 3 - -// Це не рекомендується, але ви можете додати його до кожного рядка ось так: - -Object.defineProperty(String.prototype, 'charLength', { - get () { - return getCharacterLength(this); - } -}); - -console.log('A\uD87E\uDC04Z'.charLength); // 3</pre> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Типове_використання">Типове використання</h3> - -<pre class="brush: js">var x = 'Вогнелис'; -let empty = ''; - -console.log(x + ' має довжину ' + x.length + ' кодових одиниць'); -/* "Вогнелис має довжину 8 кодових одиниць" */ - -console.log('Порожній рядок має довжину ' + empty.length); -// очікуваний результат: "Порожній рядок має довжину 0" -</pre> - -<h3 id="Присвоювання_довжини">Присвоювання довжини</h3> - -<pre class="brush: js">let myString = "проліски"; - -// Спроба присвоїти значення властивості рядка .length не має видимого ефекту. -myString.length = 4; -console.log(myString); -// очікуваний результат: "проліски" -console.log(myString.length); -// очікуваний результат: 8</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-properties-of-string-instances-length', 'String.prototype.length')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.length")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li><a href="http://developer.teradata.com/blog/jasonstrimpel/2011/11/javascript-string-length-and-internationalizing-web-applications">String.length у JavaScript та уміжнароднення веб-додатків</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/link/index.html b/files/uk/web/javascript/reference/global_objects/string/link/index.html deleted file mode 100644 index 4f20bce4e0..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/link/index.html +++ /dev/null @@ -1,72 +0,0 @@ ---- -title: String.prototype.link() -slug: Web/JavaScript/Reference/Global_Objects/String/link -tags: - - JavaScript - - String - - застарілий - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/link ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>link()</code></strong> створює рядок, що відображає код для HTML-елемента <a href="/uk/docs/Web/HTML/Element/a" title="HTML-елемент <a> (або елемент якір), що має атрибут href, створює гиперпосилання на веб-сторінки, файли, електронні адреси, розташування на тій самій сторінці, чи будь-що інше, на що може посилатись URL."><code><a></code></a>, для використання у якості гіпертекстового посилання на інший URL.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.link(<var>url</var>)</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>url</code></dt> - <dd>Будь-який рядок, що визначає атрибут <code>href</code> тега <code><a></code>; він має бути коректним локатором ресурсу (відносним чи абсолютним), усі символи <code>&</code> мають бути екрановані як <code>&amp;</code>, а усі символи <code>"</code> - як <code>&quot;</code>.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/a" title="HTML-елемент <a> (або елемент якір), що має атрибут href, створює гиперпосилання на веб-сторінки, файли, електронні адреси, розташування на тій самій сторінці, чи будь-що інше, на що може посилатись URL."><code><a></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Використовуйте метод <code>link()</code>, щоб створити HTML-код для гіпертекстового посилання. Повернений рядок можна додати у document через <a href="/uk/docs/Web/API/Document/write" title="Метод document.write() записує рядок тексту у поток документу, відкритого методом document.open()."><code>document.write()</code></a> або <a href="/uk/docs/Web/API/Element/innerHTML" title="Властивість елемента innerHTML повертає або присвоює розмітку HTML чи XML, що міститься всередині елемента."><code>element.innerHTML</code></a>.</p> - -<p>Посилання, створені методом <code>link()</code>, стають елементами масиву <code>links</code> об'єкта <code>document</code>. Дивіться <a href="/uk/docs/Web/API/Document/links" title="Властивість лише для читання links інтерфейсу Document повертає колекцію усіх елементів <area> та <a> у документі зі значеннями атрибута href."><code>document.links</code></a>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_link">Використання <code>link()</code></h3> - -<p>Наступний приклад відображаєє слово "MDN" як гіпертекстове посилання, яке повертає користувача на сайт Mozilla Developer Network.</p> - -<pre class="brush: js">var hotText = 'MDN'; -var URL = 'https://developer.mozilla.org/'; - -console.log('Натисніть, щоб повернутись на ' + hotText.link(URL)); -// Натисніть, щоб повернутись на <a href="https://developer.mozilla.org/">MDN</a> -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.link', 'String.prototype.link')}}</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.link")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.anchor()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/localecompare/index.html b/files/uk/web/javascript/reference/global_objects/string/localecompare/index.html deleted file mode 100644 index 9fe8fac165..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/localecompare/index.html +++ /dev/null @@ -1,173 +0,0 @@ ---- -title: String.prototype.localeCompare() -slug: Web/JavaScript/Reference/Global_Objects/String/localeCompare -tags: - - JavaScript - - Method - - Prototype - - String - - Довідка - - Уміжнароднення - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/localeCompare ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>localeCompare()</code></strong> повертає число, яке вказує, як має розташуватись рядок відносно вказаного (того, що передано як параметр) у відсортованій за зростанням послідовності: перед, після, чи вони однакові.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-localecompare.html")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<p>Нові арґументи <code>locales</code> та <code>options</code> дають можливість вказати мову, абетковий порядок сортування якої має бути застосовано, та налаштувати механізм порівняння рядків. Раніше, коли цих арґументів ще не було, механізм порівняння рядків та порядок їх сортування цілковито залежав від реалізації.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>referenceStr</var>.localeCompare(<var>compareString</var>[, <var>locales</var>[, <var>options</var>]])</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<p>Перевіряйте в <a href="#Підтримка_веб-переглядачами">таблиці сумісності</a> наявність підтримки арґументів <code>locales</code> та <code>options</code>, а також подивіться на <a href="#Перевірка_наявності_підтримки_додаткових_арґументів">код для перевірки</a> наявності такої підтримки.</p> - -<dl> - <dt><code>compareString</code></dt> - <dd>Рядок, з яким буде здійснено порівняння.</dd> -</dl> - -<div> -<p>Аргументи <code>locales</code> та <code>options</code> налаштовують поведінку функції та дозволяють застосункам визначати мову, конвенції якої щодо форматування мають використовуватись. У тих реалізаціях, які ігнорують аргументи <code>locales</code> та <code>options</code>, локаль, що використовується, та форма поверненого рядка повністю залежать від реалізації.</p> - -<p>Деталі цих параметрів та як їх використовувати дивіться у статті <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/Collator/Collator">Конструктор <code>Intl.Collator()</code></a>.</p> -</div> - -<h3 id="Вертає">Вертає</h3> - -<ul> - <li><strong>Від'ємне</strong> число, якщо рядок має розташуватись <em>перед</em> <strong><code>compareString</code></strong>;</li> - <li><strong>Додатне</strong> число, якщо рядок має розташуватись <em>після</em> <strong><code>compareString</code></strong>;</li> - <li><strong>Нуль</strong>, якщо рядки <em>тотожні</em>.</li> -</ul> - -<h2 id="Опис">Опис</h2> - -<p>Вертає ціле число, що вказує, чи рядок <strong>referenceStr</strong> розташований перед <strong>compareStr</strong>, після <strong>compareStr</strong>, чи є еквівалентним <strong>compareStr</strong>.</p> - -<ul> - <li>Від'ємне, коли <strong>referenceStr</strong> розташований перед <strong>compareStr</strong></li> - <li>Додатне, коли <strong>referenceStr</strong> розташований після <strong>compareStr</strong></li> - <li>Вертає 0, якщо вони еквівалентні</li> -</ul> - -<p><strong>НЕ ПОКЛАДАЙТЕСЬ на точні повернені значення -1 чи 1. </strong>Від'ємні та додатні цілочисельні результати різняться між переглядачами (а також між версіями переглядачів), тому що специфікація W3C вимагає лише від'ємних та додатних значень. Деякі переглядачі можуть повернути -2 чи 2, чи навіть деякі інші від'ємні та додатні значення.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_localeCompare">Використання <code>localeCompare()</code></h3> - -<pre class="brush: js">// Вертає від'ємне значення, позаяк літера «a» розташована раніше за «b» -'a'.localeCompare('c'); // -2 чи -1 (або інше від'ємне значення) - -// Вертає додатне значення, позаяк за абеткою слово "check" слід розташувати після "against" -'check'.localeCompare('against'); // 2 чи 1 (або інше додатне значення) - -// Вертає нуль, позаяк рядки однакові -'a'.localeCompare('a'); // 0 -</pre> - -<h3 id="Сортування_масиву">Сортування масиву</h3> - -<p>Метод <code>localeCompare()</code> надає можливість регістронезалежного сортування масивів:</p> - -<pre class="brush: js">var items = ['réservé', 'Premier', 'Cliché', 'communiqué', 'café', 'Adieu']; -items.sort((a, b) => a.localeCompare(b, 'fr', {ignorePunctuation: true})); // ['Adieu', 'café', 'Cliché', 'communiqué', 'Premier', 'réservé']</pre> - -<h3 id="Перевірка_наявності_підтримки_додаткових_арґументів_веб-переглядачем">Перевірка наявності підтримки додаткових арґументів веб-переглядачем</h3> - -<p>Арґументи <code>locales</code> та <code>options</code> досі не підтримуються всіма переглядачами. Тож, з метою з'ясування наявності підтримки можна скористатися тим, що метод викидає (лише за наявності такої підтримки згаданих арґументів) виняток {{jsxref("Global_Objects/RangeError", "RangeError")}}, якщо параметр <code>locales</code> не вказує належного мовного коду. Наприклад, вкажемо напевне відсутній код "i":</p> - -<pre class="brush: js">function checkLocaleCompareSupportsLocales() { - try { - 'foo'.localeCompare('bar', 'i'); - } catch (e) { - return e.name === 'RangeError'; - } - return false; -} -</pre> - -<h3 id="Використання_locales">Використання <code>locales</code></h3> - -<p>Порівняння рядків за допомогою <code>localeCompare()</code> узалежнено від мови. Для застосування належного для вживаної мови (наприклад, для мови користувацького інтерфейсу вашого застосунку) порядку сортування, не забудьте вказати відповідний мовний код (або й запасні мовні коди) через параметр <code>locales</code>:</p> - -<pre class="brush: js">// виводить від'ємне значення (у німецькій абетці літера «ä» розташована раніше «z») -console.log('ä'.localeCompare('z', 'de')); - -// виводить додатне значення (у шведській абетці літера «ä» розташована пізніше «z») -console.log('ä'.localeCompare('z', 'sv')); -</pre> - -<h3 id="Використання_options">Використання <code>options</code></h3> - -<p>Арґумент <code>options</code> надає можливість додаткового налаштування способу порівняння рядків методом <code>localeCompare()</code>:</p> - -<pre class="brush: js">// У німецькій мові літера «ä» є похідною від базової літери «a» -// виводить 0 -console.log('ä'.localeCompare('a', 'de', {sensitivity: 'base'})); - -// У шведській мові «ä» та «a» є окремими базовими літерами -// виводить додатне значення -console.log('ä'.localeCompare('a', 'sv', {sensitivity: 'base'})); -</pre> - -<h3 id="Сортування_чисел">Сортування чисел</h3> - -<pre class="brush: js">// за замовчуванням, "2" > "10" -console.log("2".localeCompare("10")); // 1 - -// сортування за допомогою options: -console.log("2".localeCompare("10", undefined, {numeric: true})); // -1 - -// сортування за допомогою тега locales: -console.log("2".localeCompare("10", "en-u-kn-true")); // -1</pre> - -<h2 id="Швидкодія">Швидкодія</h2> - -<p>З огляду на швидкодію, для порівняння величезної кількості рядків (наприклад, під час сортування великих масивів) ліпше створювати об'єкт <code>{{jsxref("Global_Objects/Collator", "Intl.Collator")}}</code> та використовувати функцію, надану його властивістю <code>{{jsxref("Collator.prototype.compare", "compare")}}</code>:</p> - -<pre class="brush: js">function sortLargeStringArray(array, locale) { - var collator = new Intl.Collator(locale); - array.sort(collator.compare); -} - -// sortLargeStringArray([ … ], 'uk'); -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.localecompare', 'String.prototype.localeCompare')}}</td> - </tr> - <tr> - <td>{{SpecName('ES Int Draft', '#sec-String.prototype.localeCompare', 'String.prototype.localeCompare')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.localeCompare")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Global_Objects/Collator", "Intl.Collator")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/match/index.html b/files/uk/web/javascript/reference/global_objects/string/match/index.html deleted file mode 100644 index dfc6bf5f6b..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/match/index.html +++ /dev/null @@ -1,194 +0,0 @@ ---- -title: String.prototype.match() -slug: Web/JavaScript/Reference/Global_Objects/String/match -tags: - - JavaScript - - Method - - Prototype - - String - - Довідка - - Регулярний вираз - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/match ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>match()</code></strong> шукає та повертає (якщо є) збіги <em>рядка</em> із зазначеним <a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions">регулярним виразом</a>.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-match.html", "shorter")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.match(<var>regexp</var>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>regexp</code></dt> - <dd>Об'єкт регулярного виразу.</dd> - <dd>Якщо передати значення іншого типу, воно буде неявно перетворене на {{jsxref("RegExp")}} за допомогою оператора <code>new RegExp(<em>regexp</em>).</code></dd> - <dd>Якщо жодного параметра не вказано, метод поверне {{jsxref("Array","масив")}} з одним елементом — порожнім рядком: <code>[""]</code>.</dd> -</dl> - -<h3 id="Вертає">Вертає</h3> - -<p>{{jsxref("Array","Масив")}}, чий вміст залежить від наявності чи відсутності глобального (<code>g</code>) прапора, або {{jsxref("null")}}, якщо жодних збігів не знайдено.</p> - -<ul> - <li>Якщо використовується прапор <code>g</code>, метод поверне усі результати, що збігаються з повним регулярним виразом, але не поверне захоплені групи.</li> - <li>Якщо прапор <code>g</code> не використовується, метод поверне лише перший повний збіг та захоплені групи, які він містить. У цьому випадку повернений елемент матиме додаткові властивості, описані нижче.</li> -</ul> - -<h4 id="Додаткові_властивості">Додаткові властивості</h4> - -<p>Як пояснювалось вище, деякі результати містять наступні додаткові властивості:</p> - -<dl> - <dt><code>groups</code></dt> - <dd>Масив іменованих захоплених груп або {{jsxref("undefined")}}, якщо іменовані групи не були визначені. Дивіться <a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions/Groups_and_Ranges">Групи та діапазони</a>, щоб дізнатись більше.</dd> - <dt><code>index</code></dt> - <dd>Індекс пошуку, за яким був знайдений результат.</dd> - <dt><code>input</code> </dt> - <dd>Копія рядка, в якому здійснювався пошук.</dd> -</dl> - -<h2 id="Опис">Опис</h2> - -<p>Якщо регулярний вираз не позначено прапорцем <code>g</code>, виклик <code>str.match()</code> повертає такий самий результат, що й {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}}.</p> - -<h3 id="Інші_методи">Інші методи</h3> - -<ul> - <li>Якщо вам треба з'ясувати, чи відповідає рядок регулярному виразові {{jsxref("RegExp")}}, скористайтеся методом {{jsxref("RegExp.prototype.test()", "RegExp.test()")}}.</li> - <li>Якщо вас цікавить лише перший збіг, можете натомість використати {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}}.</li> - <li>Якщо ви хочете отримати захоплені групи, а прапорець <code>g</code> встановлено, вам потрібен метод {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}} або {{jsxref("String.prototype.matchAll()")}}.</li> -</ul> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_match">Використання <code>match()</code></h3> - -<p>У прикладі нижче метод <code>match()</code> задіяно, щоб знайти слово <code>«розділ»</code>, за ним одну чи кілька цифр, далі десяткова крапка та 0 чи більше числових символів.</p> - -<p>Регулярний вираз позначено прапорцем <code>i</code>, що означає відсутність розрізнювання великих та малих літер.</p> - -<pre class="brush: js">var str = 'Докладніше див. розділ 3.4.5.1'; -var re = /див\. (розділ \d+(\.\d)*)/i; -var found = str.match(re); - -console.log(found); - -// Виводить: -// [ -// 0: "див. розділ 3.4.5.1" -// 1: "розділ 3.4.5.1" -// 2: ".1" -// index: 11 -// input: "Докладніше див. розділ 3.4.5.1" -// ] - -// Рядок "див. розділ 3.4.5.1" є повним збігом. -// Рядок "розділ 3.4.5.1" — це підрядок, захоплений підвиразом '(розділ \d+(\.\d)*)' -// Рядок ".1" — це останній підрядок, захоплений підвиразом '(\.\d)' -// Властивість 'index' (11) — це зсув підрядка, що відповідає регулярному виразові -// Властивість 'input' — це повна копія досліджуваного рядка str -</pre> - -<h3 id="Вживання_прапорців_i_та_g_із_методом_match">Вживання прапорців <code>i</code> та <code>g</code> із методом <code>match()</code></h3> - -<p>Приклад нижче засвідчує дію прапорців <code>i</code> (ignore case — регістронезалежний режим) та <code>g</code> (global — пошук усіх збігів, а не тільки першого) при використанні метода <code>match()</code>. Будуть повернені усі літери від <code>A</code> до <code>E</code> та від <code>a</code> до <code>e</code>, кожна як окремий елемент масиву.</p> - -<pre class="brush: js">var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'; -var regexp = /[A-E]/gi; -var matches_array = str.match(regexp); - -console.log(matches_array); -// ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e'] -</pre> - -<div class="blockIndicator note"> -<p><strong>Заувага:</strong> Дивіться також метод {{jsxref("String.prototype.matchAll()")}} та <a href="https://wiki.developer.mozilla.org/uk/docs/Web/JavaScript/Reference/Global_Objects/String/g/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags">Складний пошук за допомогою прапорів</a>.</p> -</div> - -<h3 id="Використання_іменованих_груп">Використання іменованих груп</h3> - -<p>У переглядачах, які підтримують іменовані захоплені групи, наступний код захопить <code>"їжак"</code> чи <code>"кіт"</code> у групу на ім'я <code>"тварина"</code>:</p> - -<pre class="brush: js">let paragraph = 'Єхидна, ґава, їжак ще й шиплячі плазуни бігцем форсують Янцзи.'; - -let capturingRegex = /(?<тварина>їжак|кіт) ще й/; -found = paragraph.match(capturingRegex); -console.log(found.groups); // {тварина: "їжак"}</pre> - -<h3 id="Використання_match_без_параметрів">Використання <code>match()</code> без параметрів</h3> - -<pre class="brush: js">var str = "Я — Дух одвічної стихії"; - -// вертає ["", index: 0, input: "Я — Дух одвічної стихії"] -str.match();</pre> - -<h3 id="Параметр_відмінного_від_RegExp_типу">Параметр відмінного від <code>RegExp</code> типу</h3> - -<p>Якщо переданий параметр являє собою рядок або число, його буде перетворено на об'єкт {{jsxref("RegExp")}} шляхом неявного виклику <code>new RegExp(obj)</code>.</p> - -<p>Якщо це додатнє число, його знаком <code>+</code> буде знехтувано, проте для від'ємного числа знак <code>-</code> стане частиною регулярного виразу:</p> - -<pre class="brush: js">var str1 = "NaN означає «не число». Нескінченність у JavaScript має дві форми: -Infinity та +Infinity.", - str2 = "Моїй бабці 65 років, а дідусеві — 63.", - str3 = "Незмінна величина null позначає відсутність очікуваного значення."; - -str1.match("число"); // "число" є рядком; вертає ["число"] -str1.match(NaN); // величина NaN є числом; вертає ["NaN"] -str1.match(Infinity); // величина Infinity також є числом; вертає ["Infinity"] -str1.match(+Infinity); // вертає ["Infinity"] -str1.match(-Infinity); // вертає ["-Infinity"] -str2.match(65); // вертає ["65"] -str2.match(+65); // додатнє число; вертає ["65"] -str3.match(null); // вертає ["null"]</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.match', 'String.prototype.match')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<h3 id="Базова_підтримка_методу_match">Базова підтримка методу <samp>match()</samp></h3> - -<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.match")}}</p> - -<h3 id="Підтримка_іменованих_груп">Підтримка іменованих груп</h3> - -<p>{{Compat("javascript.builtins.RegExp.named_capture_groups")}}</p> - -<h2 id="Зауваги_щодо_Firefox">Зауваги щодо Firefox</h2> - -<ul> - <li>Аргумент <code>flags</code> був нестандартним другим аргументом, доступним лише у Firefox: <code><var>str</var>.match(<var>regexp, flags</var>)</code>. Він був прибраний, починаючи з Firefox 49.</li> - <li>У Firefox 27 цей метод було узгоджено зі специфікацією ECMAScript. Коли <code>match()</code> викликано із глобальним регулярним виразом, властивість {{jsxref("RegExp.lastIndex")}} (якщо зазначено) скидається до <code>0</code> (<a href="https://bugzilla.mozilla.org/show_bug.cgi?id=501739">bug 501739</a>).</li> -</ul> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.matchAll()")}}</li> - <li>{{jsxref("RegExp")}}</li> - <li>{{jsxref("RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/matchall/index.html b/files/uk/web/javascript/reference/global_objects/string/matchall/index.html deleted file mode 100644 index 396fb3b2bc..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/matchall/index.html +++ /dev/null @@ -1,143 +0,0 @@ ---- -title: String.prototype.matchAll() -slug: Web/JavaScript/Reference/Global_Objects/String/matchAll -tags: - - JavaScript - - String - - Регулярні Вирази - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>matchAll()</code></strong> повертає ітератор з усіма збігами <em>рядка</em> з <em><a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions">регулярним виразом</a></em>, а також <a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions/Groups_and_Ranges">захоплені групи</a>.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-matchall.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox notranslate"><var>str</var>.matchAll(<var>regexp</var>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>regexp</var></code></dt> - <dd> - <p>Об'єкт регулярного виразу.</p> - - <p>Якщо передано об'єкт <code>obj</code>, який не є регулярним виразом, він неявно перетворюється на {{jsxref("RegExp")}} за допомогою <code>new RegExp(<var>obj</var>)</code>.</p> - - <p>Об'єкт <code>RegExp</code> повинен мати прапор <code>/g</code>, інакше буде викинуто помилку <code>TypeError</code>.</p> - </dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p><a href="/uk/docs/Web/JavaScript/Guide/Iterators_and_Generators">Ітератор</a> (ітерабельний об'єкт, який не можна повторно запустити).</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Regexp.exec_та_matchAll">Regexp.exec() та matchAll()</h3> - -<p>До появи у JavaScript методу <code>matchAll</code> можна було використовувати виклики <a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec">regexp.exec</a> (а також регулярні вирази з прапором <code>/g</code>) у циклі, щоб отримати усі збіги:</p> - -<pre class="brush: js notranslate">const regexp = RegExp('фу[а-я]*','g'); -const str = 'настільний футбол, фусбол'; -let match; - -while ((match = regexp.exec(str)) !== null) { - console.log(`Знайдено ${match[0]} початок=${match.index} кінець=${regexp.lastIndex}.`); - // виведе: "Знайдено футбол початок=11 кінець=17." - // виведе: "Знайдено фусбол початок=19 кінець=25." -}</pre> - -<p>З методом <code>matchAll</code> можна уникнути використання циклу {{jsxref("Statements/while", "while")}} та методу <code>exec</code> з <code>g</code>.</p> - -<p>Замість цього, використовуючи <code>matchAll</code>, ви отримуєте ітератор, який можна використовувати з більш зручними конструкціями {{jsxref("Statements/for...of", "for...of")}}, {{jsxref("Operators/Spread_syntax", "розкладанням масиву")}} чи {{jsxref("Array.from()")}}:</p> - -<pre class="brush: js notranslate">const regexp = RegExp('фу[а-я]*','g'); -const str = 'настільний футбол, фусбол'; -const matches = str.matchAll(regexp); - -for (const match of matches) { - console.log(`Знайдено ${match[0]} початок=${match.index} кінець=${match.index + match[0].length}.`); -} -// виведе: "Знайдено футбол початок=11 кінцець=17." -// виведе: "Знайдень фусбол початок=19 кінець=25." - -// Ітератор matches є вичерпаним після перебору for..of -// Викличте matchAll ще раз, щоб створити новий ітератор -Array.from(str.matchAll(regexp), m => m[0]); -// Array [ "футбол", "фусбол" ]</pre> - -<p>Метод <code>matchAll</code> викине виняток, якщо прапор <code>g</code> відсутній.</p> - -<pre class="brush: js notranslate">const regexp = RegExp('[а-в]',''); -const str = 'абв'; -str.matchAll(regexp); -// TypeError -</pre> - -<p><code>matchAll</code> робить внутрішній клон <code><var>regexp</var></code><var>,</var> тому, на відміну від {{jsxref("Global_Objects/RegExp/exec", "regexp.exec()")}}, <code>lastIndex</code> не змінюється під час пошуку.</p> - -<pre class="brush: js notranslate">const regexp = RegExp('[а-в]','g'); -regexp.lastIndex = 1; -const str = 'абв'; -Array.from(str.matchAll(regexp), m => `${regexp.lastIndex} ${m[0]}`); -// Array [ "1 б", "1 в" ]</pre> - -<h3 id="Кращий_доступ_до_захоплених_груп_ніж_у_String.prototype.match">Кращий доступ до захоплених груп (ніж у String.prototype.match())</h3> - -<p>Ще одна приваблива причина використовувати <code>matchAll</code> - покращений доступ до захоплених груп.</p> - -<p>Захоплені групи ігноруються при використанні {{jsxref("Global_Objects/String/match", "match()")}} з глобальним прапором <code>/g</code>:</p> - -<pre class="brush: js notranslate">let regexp = /т(е)(ст(\d?))/g; -let str = 'тест1тест2'; - -str.match(regexp); -// Array ['тест1', 'тест2']</pre> - -<p>Використовуючи <code>matchAll</code>, ви можете легко звертатись до захоплених груп:</p> - -<pre class="brush: js notranslate">let array = [...str.matchAll(regexp)]; - -array[0]; -// ['тест1', 'е', 'ст1', '1', index: 0, input: 'тест1тест2', length: 4] -array[1]; -// ['тест2', 'е', 'ст2', '2', index: 5, input: 'тест1тест2', length: 4] -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.matchall', 'String.prototype.matchAll')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<p class="hidden">The compatibility table on 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.matchAll")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.match()")}}</li> - <li><a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions">Використання регулярних виразів у JavaScript</a></li> - <li><a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions/Groups_and_Ranges">Захоплені групи</a></li> - <li>{{jsxref("RegExp")}}</li> - <li>{{jsxref("RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test()")}}</li> -</ul> 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 <- візуальне відображення змінилось -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> diff --git a/files/uk/web/javascript/reference/global_objects/string/padend/index.html b/files/uk/web/javascript/reference/global_objects/string/padend/index.html deleted file mode 100644 index 8f9fbd2e63..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/padend/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: String.prototype.padEnd() -slug: Web/JavaScript/Reference/Global_Objects/String/padEnd -tags: - - JavaScript - - String - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>padEnd()</code></strong> доповнює поточний рядок наданим рядком (повторюючи його, якщо треба), так, щоб отриманий в результаті рядок досяг заданої довжини. Доповнення застосовується з кінця поточного рядка.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-padend.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.padEnd(<var>targetLength</var> [, <var>padString</var>])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>targetLength</code></dt> - <dd>Довжина результуючого рядка після доповнення поточного рядка. Якщо значення є меншим за довжину поточного рядка, поточний рядок буде повернений без змін.</dd> - <dt><code>padString</code> {{optional_inline}}</dt> - <dd>Рядок, яким потрібно доповнити поточний рядок. Якщо цей рядок надто довгий для отримання заданої довжини, він буде обрізаний: для мов з письмом зліва направо буде застосована ліва частина, а для мов з письмом справа наліво - права частина. Значенням за замовчуванням для цього параметра є " " (U+0020).</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>{{jsxref("String", "Рядок")}} вказаної довжини з доповненням, застосованим в кінці поточного рядка.</p> - -<h2 id="Приклади">Приклади</h2> - -<pre class="brush: js">'абв'.padEnd(10); // "абв " -'абв'.padEnd(10, "ква"); // "абвкваквак" -'абв'.padEnd(6, "123456"); // "абв123" -'абв'.padEnd(1); // "абв"</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.padend', 'String.prototype.padEnd')}}</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.padEnd")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.padStart()")}}</li> - <li><a>A polyfill for this method</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/padstart/index.html b/files/uk/web/javascript/reference/global_objects/string/padstart/index.html deleted file mode 100644 index 4f7e48a94f..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/padstart/index.html +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: String.prototype.padStart() -slug: Web/JavaScript/Reference/Global_Objects/String/padStart -tags: - - JavaScript - - String - - метод -translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>padStart()</code></strong> доповнює поточний рядок іншим рядком (кілька раз, якщо треба), доки отриманий рядок не досягне заданої довжини.</span> Доповнення застосовується з початку поточного рядка.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-padstart.html")}}</div> - -<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.padStart(<var>targetLength</var> [, <var>padString</var>])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>targetLength</var></code></dt> - <dd>Довжина результуючого рядка після доповнення поточного рядка <code><var>str</var></code>. Якщо значення є меншим за його довжину <code><var>str.</var>length</code>, то <em><code>str</code></em> повертається без змін.</dd> - <dt><code><var>padString</var></code> {{optional_inline}}</dt> - <dd>Рядок, яким потрібно доповнити поточний рядок <code><var>str</var></code>. Якщо <code><var>padString</var></code> надто довгий для отримання заданої довжини <code><var>targetLength</var></code>, він буде обрізаний з кінця. Значенням за замовчуванням є <code>" "</code> (<code>U+0020 'ПРОБІЛ'</code>).</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>{{jsxref("String", "Рядок")}} заданої довжини <code><var>targetLength</var></code> з доповненням <code><var>padString</var></code>, застосованим на початку.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Базові_приклади">Базові приклади</h3> - -<pre class="brush: js">'абв'.padStart(10); // " абв" -'абв'.padStart(10, "ква"); // "кваквакабв" -'абв'.padStart(6,"123465"); // "123абв" -'абв'.padStart(8, "0"); // "00000абв" -'абв'.padStart(1); // "абв"</pre> - -<h3 id="Перетворення_числа_на_рядок_фіксованої_ширини">Перетворення числа на рядок фіксованої ширини</h3> - -<pre class="brush: js">// Версія Javascript для: (unsigned) -// printf "%0*d" width num -function leftFillNum(num, targetLength) { - return num.toString().padStart(targetLength, 0); -} - -const num = 123; -console.log(leftFillNum(num, 5)); -// очікуваний результат: "00123" -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.padstart', 'String.prototype.padStart')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - -<div class="hidden">The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out <a class="external" href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</div> - -<p>{{Compat("javascript.builtins.String.padStart")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.padEnd()")}}</li> - <li><a href="https://github.com/uxitten/polyfill/blob/master/string.polyfill.js">Поліфіл</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/raw/index.html b/files/uk/web/javascript/reference/global_objects/string/raw/index.html deleted file mode 100644 index 6383506ec5..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/raw/index.html +++ /dev/null @@ -1,117 +0,0 @@ ---- -title: String.raw() -slug: Web/JavaScript/Reference/Global_Objects/String/raw -tags: - - ECMAScript 2015 - - JavaScript - - String - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/raw ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Статичний метод <strong><code>String.raw()</code></strong> є функцією-тегом <a href="/uk/docs/Web/JavaScript/Reference/template_strings">шаблонних літералів</a>. Він <em>схожий</em> на префікс <code>r</code> у мові Python, або на префікс <code>@</code> у мові C# для рядкових літералів. (Але вони не <em>ідентичні</em>; дивіться пояснення у <a href="https://bugs.chromium.org/p/v8/issues/detail?id=5016">цій проблемі</a>.) Він використовується для отримання сирої рядкової форми шаблонних рядків, тобто, підстановки (наприклад, <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">${foo}</span></font>) обробляються, а екранування (наприклад, <code>\n</code>) ні.</span></p> - -<div>{{EmbedInteractiveExample("pages/js/string-raw.html")}}</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code>String.raw(<var>callSite</var>, <var>...substitutions</var>) - -String.raw`<var>templateString</var>` -</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>callSite</var></code></dt> - <dd>Добре сформований об'єкт-шаблон точки виклику, наприклад <code>{ raw: ['раз', 'два', 'три'] }</code>.</dd> - <dt><code><var>...substitutions</var></code></dt> - <dd>Містить значення підстановок.</dd> - <dt><code><var>templateString</var></code></dt> - <dd>{{jsxref("template_strings", "Шаблонний рядок")}}, може містити підстановки (<code>${...}</code>).</dd> -</dl> - -<h3 id="Значення_що_вертається">Значення, що вертається</h3> - -<p>Сира рядкова форма наданого шаблонного рядка.</p> - -<h3 id="Винятки">Винятки</h3> - -<dl> - <dt>{{jsxref("TypeError")}}</dt> - <dd>Помилка {{jsxref("TypeError")}} викидається, якщо перший аргумент не є добре сформованим об'єктом.</dd> -</dl> - -<h2 id="Опис">Опис</h2> - -<p>У більшості випадків <code>String.raw()</code> використовується з шаблонними рядками. Перший синтаксис, наведений вище, використовується лише зрідка, тому що рушій JavaScript викличе його для вас з правильними аргументами (як і інші <a href="/uk/docs/Web/JavaScript/Reference/template_strings#Tagged_template_literals">функції-теги</a>).</p> - -<p><code>String.raw()</code> - єдина вбудована функція-тег шаблонних рядків. Вона працює як звичайна шаблонна функція та виконує об'єднання. Ви навіть можете перевизначити її звичайним кодом JavaScript.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_String.raw">Використання <code>String.raw()</code></h3> - -<pre class="brush: js">String.raw`Привіт\n${2+3}!`; -// 'Привіт\n5!', символ після 'Привіт' - -// це не символ нового рядка, -// '\' та 'n' є двома символами. - -String.raw`Привіт\u000A!`; -// 'Привіт\u000A!', те саме тут, цього разу ми отримуємо -// 6 символів, \, u, 0, 0, 0, A. -// Усі символи екранування будут неефективні, -// а зворотні слеши будуть присутні у отриманому рядку. -// Ви можете підтвертиди це, перевіривши властивість рядка .length. - -let name = 'Боб'; -String.raw`Привіт,\nце ${name}!`; -// 'Привіт,\nце Боб!', підстановки обробляються. - -// Зазвичай, ви б не викликали String.raw() як функцію, -// але, щоб симулювати `раз${2 + 3}два${'Java' + 'Script'}три`, можна зробити: -String.raw({ - raw: ['раз', 'два', 'три'] -}, 2 + 3, 'Java' + 'Script'); // 'раз5дваJavaScriptтри' -// Зауважте, що перший аргумент - об'єкт з властивістю 'raw', -// чиїм значенням є ітерабельний об'єкт, що представляє відокремлені рядки -// у шаблонному літералі. -// Решта аргументів - це підстановки. - -// Значенням 'raw' першого аргументу може бути будь-який ітерабельний об'єкт, -// навіть рядок! Наприклад, 'тест' сприймається як ['т', 'е', 'с', 'т']. -// Наступний код еквівалентний цьому -// `т${0}е${1}с${2}т`: -String.raw({ raw: 'тест' }, 0, 1, 2); // 'т0е1с2т' -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.raw', 'String.raw')}}</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.raw")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li><a href="/uk/docs/Web/JavaScript/Reference/template_strings">Шаблонні літерали</a></li> - <li>{{jsxref("String")}}</li> - <li><a href="/uk/docs/Web/JavaScript/Reference/Lexical_grammar">Лексична граматика</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/repeat/index.html b/files/uk/web/javascript/reference/global_objects/string/repeat/index.html deleted file mode 100644 index 101776ad15..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/repeat/index.html +++ /dev/null @@ -1,119 +0,0 @@ ---- -title: String.prototype.repeat() -slug: Web/JavaScript/Reference/Global_Objects/String/repeat -tags: - - ECMAScript 2015 - - JavaScript - - String - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/repeat ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>repeat()</code></strong> створює та повертає новий рядок, що містить вказану кількість об'єднаних разом копій рядка, на якому він був викликаний.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-repeat.html","shorter")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.repeat(<var>count</var>)</code> -</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>count</var></code></dt> - <dd>Ціле число в діапазоні між <code>0</code> та {{jsxref("Global_Objects/Number/POSITIVE_INFINITY", "+Infinity")}}, що вказує кількість повторів рядка.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий рядок, що містить вказану кількість копій наданого рядка.</p> - -<h3 id="Винятки">Винятки</h3> - -<ul> - <li>{{jsxref("Errors/Negative_repetition_count", "RangeError")}}: число повторів має бути невід'ємним.</li> - <li>{{jsxref("Errors/Resulting_string_too_large", "RangeError")}}: число повторів має бути меншим за нескінченість та не перевищувати максимальний розмір рядка.</li> -</ul> - -<h2 id="Приклади">Приклади</h2> - -<pre class="brush: js">'абв'.repeat(-1) // RangeError -'абв'.repeat(0) // '' -'абв'.repeat(1) // 'абв' -'абв'.repeat(2) // 'абвабв' -'абв'.repeat(3.5) // 'абвабвабв' (count буде перетворений на ціле число) -'абв'.repeat(1/0) // RangeError - -({ toString: () => 'абв', repeat: String.prototype.repeat }).repeat(2) -// 'абвабв' (repeat() є загальним методом) -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>Цей метод був доданий у специфікацію ECMAScript 2015 та може поки не бути доступним в усіх реалізаціях JavaScript. Однак, ви можете створити поліфіл <code>String.prototype.repeat()</code> за допомогою наступного коду:</p> - -<pre class="brush: js" dir="rtl">if (!String.prototype.repeat) { - String.prototype.repeat = function(count) { - 'use strict'; - if (this == null) - throw new TypeError('неможливо перетворити ' + this + ' на об\'єкт'); - - var str = '' + this; - // Щоб перетворити рядок на ціле число. - count = +count; - // Перевірка на NaN - if (count != count) - count = 0; - - if (count < 0) - throw new RangeError('repeat count must be non-negative'); - - if (count == Infinity) - throw new RangeError('repeat count must be less than infinity'); - - count = Math.floor(count); - if (str.length == 0 || count == 0) - return ''; - - // Гарантія того, що count є цілим 31-бітним числом, дозволяє значно оптимізувати - // головну частину. Але, все ж, найновіші (серпень 2014) переглядачі не можуть - // впоратись з рядками з 1 << 28 символів чи довше, а отже: - if (str.length * count >= 1 << 28) - throw new RangeError('repeat count must not overflow maximum string size'); - - var maxCount = str.length * count; - count = Math.floor(Math.log(count) / Math.log(2)); - while (count) { - str += str; - count--; - } - str += str.substring(0, maxCount - str.length); - return str; - } -}</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.repeat', 'String.prototype.repeat')}}</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.repeat")}}</p> diff --git a/files/uk/web/javascript/reference/global_objects/string/replace/index.html b/files/uk/web/javascript/reference/global_objects/string/replace/index.html deleted file mode 100644 index 35f4a5ab54..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/replace/index.html +++ /dev/null @@ -1,240 +0,0 @@ ---- -title: String.prototype.replace() -slug: Web/JavaScript/Reference/Global_Objects/String/replace -tags: - - JavaScript - - String - - вирази - - метод - - регулярний - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/replace ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>replace()</code></strong> повертає новий рядок, в якому деякі або усі збіги з шаблоном замінені параметром заміни.</span> Шаблон може бути рядком або {{jsxref("RegExp","регулярним виразом")}}, а заміна може бути рядком або функцією, що викликатиметься для кожного збігу. Якщо шаблон є рядком, буде замінений лише перший збіг.</p> - -<p>Початковий рядок лишається незміненим.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-replace.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox notranslate">const newStr = <var>str</var>.replace(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>regexp</var></code> (шаблон)</dt> - <dd>Об'єкт або літерал {{jsxref("RegExp")}}. Збіг чи збіги замінюються рядком <code><var>newSubstr</var></code> або значенням, яке вертає вказана функція <em><code>function</code></em>.</dd> - <dt><code><var>substr</var></code></dt> - <dd>{{jsxref("String","Рядок")}}, який потрібно замінити на <code><var>newSubstr</var></code>. Він сприймається як рядковий літерал та <em>не</em> інтерпретується як регулярний вираз. Замінюється лише перше співпадіння.</dd> - <dt><code><var>newSubstr</var></code> (заміна)</dt> - <dd>{{jsxref("String","Рядок")}}, який замінює підрядок, вказаний параметром <code><var>regexp</var></code> або <code><var>substr</var></code>. Підтримується можливість задавати декілька спеціальних шаблонів заміни; дивіться розділ "<a href="#Використання_рядка_в_якості_параметра">Використання рядка в якості параметра</a>" нижче.</dd> - <dt><code><var>function</var></code> (заміна)</dt> - <dd>Функція, що викликатиметься для створення нового підрядка, який буде використовуватись для заміни збігів з наданим параметром <code><var>regexp</var></code> або <code><var>substr</var></code>. Аргументи, що передаються в цю функцію, описані у розділі "<a href="#Використання_функції_в_якості_параметра">Використання функції в якості параметра</a>" нижче.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий рядок, в якому деякі або усі збіги з шаблоном замінені наданим значенням.</p> - -<h2 id="Опис">Опис</h2> - -<p>Цей метод не змінює об'єкт {{jsxref("String")}}, що його викликав. Він просто повертає новий рядок.</p> - -<p>Щоб виконати глобальний пошук та заміну, використовуйте перемикач <code>g</code> у регулярному виразі.</p> - -<h3 id="Використання_рядка_в_якості_параметра">Використання рядка в якості параметра</h3> - -<p>Рядок заміни може містити наступні спеціальні шаблони заміни:</p> - -<table class="standard-table"> - <thead> - <tr> - <th class="header" scope="col">Шаблон</th> - <th class="header" scope="col">Вставляє</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>$$</code></td> - <td>Вставляє <code>"$"</code>.</td> - </tr> - <tr> - <td><code>$&</code></td> - <td>Вставляє знайдений підрядок.</td> - </tr> - <tr> - <td><code>$`</code></td> - <td>Вставляє частину рядка, що передує знайденому підрядку.</td> - </tr> - <tr> - <td><code>$'</code></td> - <td>Вставляє частину рядка, що розташована за знайденим підрядком.</td> - </tr> - <tr> - <td><code>$<var>n</var></code></td> - <td>Де <code><var>n</var></code> є додатним цілим числом, меншим за 100, вставляє <code><var>n</var></code>-й підрядок збігів у дужках, за умови, що першим аргументом був об'єкт {{jsxref("RegExp")}}. Зауважте, що вони індексуються з <code>1</code>.</td> - </tr> - </tbody> -</table> - -<h3 id="Використання_функції_в_якості_параметра">Використання функції в якості параметра</h3> - -<p>Ви можете вказати функцію в якості другого параметра. У цьому випадку функція буде викликана після знайдення збігу. Результат функції (повернене значення) буде використаний в якості рядка заміни. (<strong>Заувага:</strong> Вищезазначені спеціальні шаблони заміни <em>не</em> застосовуються у цьому випадку.)</p> - -<p>Зауважте, що функція буде викликатись багаторазово, для кожного повного збігу, що буде замінений, якщо регулярний вираз у першому параметрі є глобальним.</p> - -<p>Функція має наступні аргументи:</p> - -<table class="standard-table"> - <thead> - <tr> - <th class="header" scope="col">Можливе ім'я</th> - <th class="header" scope="col">Надане значення</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>match</code></td> - <td>Знайдений підрядок. (Відповідає вищенаведеному <code>$&</code>)</td> - </tr> - <tr> - <td><code>p1, p2, ...</code></td> - <td><var>n</var>-й рядок, знайдений захопленою групою у дужках, за умови, що першим аргументом методу <code>replace()</code> був об'єкт {{jsxref("RegExp")}}. (Відповідає вищенаведеним <code>$1</code>, <code>$2</code>, і т.д.) Наприклад, якщо був наданий аргумент <code>/(\a+)(\b+)/</code>, то <code>p1</code> є збігом з <code>\a+</code>, а <code>p2</code> - збігом з <code>\b+</code>.</td> - </tr> - <tr> - <td><code>offset</code></td> - <td>Зсув знайденого підрядка всередині рядка, що перевіряється. (Наприклад, якби цілим рядком був <code>'абвг'</code>, а знайденим підрядком <code>'бв'</code>, то цей аргумент дорівнював би <code>1</code>.)</td> - </tr> - <tr> - <td><code>string</code></td> - <td>Весь рядок, що перевіряється.</td> - </tr> - </tbody> -</table> - -<p>(Точна кількість аргументів залежить від того, чи є перший аргумент об'єктом {{jsxref("RegExp")}} — і, якщо є, то скільки збігів, заключених у дужки, він визначає.)</p> - -<p>Наступний приклад присвоїть <code>newString</code> значення <code>'абв - 12345 - #$*%'</code>:</p> - -<pre class="brush: js notranslate">function replacer(match, p1, p2, p3, offset, string) { - // p1 - не цифри, p2 - цифри, а p3 - не літерно-цифрові символи - return [p1, p2, p3].join(' - '); -} -let newString = 'абв12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer); -console.log(newString); // абв - 12345 - #$*% -</pre> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Визначення_регулярного_виразу_у_replace">Визначення регулярного виразу у replace()</h3> - -<p>У наступному прикладі регулярний вираз визначається у методі <code>replace()</code> та містить прапор ігнорування регістру.</p> - -<pre class="brush: js notranslate">let str = 'Наближається Різдво у чарівній Миші...'; -let newstr = str.replace(/миші/i, 'тиші'); -console.log(newstr); // Наближається Різдво у чарівній тиші... -</pre> - -<p>Цей код виводить <code>'Наближається Різдво у чарівній тиші</code><code>...'</code>.</p> - -<div class="blockIndicator note"> -<p><strong>Заувага:</strong> Більше пояснень щодо регулярних виразів дивіться у <a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions">цьому посібнику</a>.</p> -</div> - -<h3 id="Використання_глобального_пошуку_та_ігнорування_регістру_з_replace">Використання глобального пошуку та ігнорування регістру з replace()</h3> - -<p>Глобальну заміну можна зробити лише з використанням регулярного виразу. У наступному прикладі регулярний вираз містить <a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_searching_with_flags_2">прапори глобального пошуку та ігнорування регістру</a>, які дозволяють методу <code>replace()</code> замінити кожний знайдений підрядок <code>'яблука'</code> на <code>'апельсини'</code>.</p> - -<pre class="brush: js notranslate">let re = /яблука/gi; -let str = 'Яблука круглі, і яблука сочні.'; -let newstr = str.replace(re, 'апельсини'); -console.log(newstr); // апельсини круглі, і апельсини сочні. -</pre> - -<p>Цей код виводить <code>'апельсини круглі, і апельсини сочні.'</code>.</p> - -<h3 id="Код_що_міняє_слова_місцями">Код, що міняє слова місцями</h3> - -<p>Наступний скрипт міняє місцями слова у рядку. В якості тексту заміни скрипт використовує <a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions/Groups_and_Ranges">захоплені групи</a> та шаблони заміни <code>$1</code> та <code>$2</code>.</p> - -<pre class="brush: js notranslate">let re = /(\w+)\s(\w+)/; -let str = 'John Smith'; -let newstr = str.replace(re, '$2, $1'); -console.log(newstr); // Smith, John -</pre> - -<p>Цей код виводить <code>'Smith, John'</code>.</p> - -<h3 id="Використання_внутрішньої_функції_яка_модифікує_знайдені_символи">Використання внутрішньої функції, яка модифікує знайдені символи</h3> - -<p>У цьому прикладі усі великі літери перетворюються на малі, а перед розташуванням збігу вставляється дефіс. Важливим тут є те, що необхідно виконати додаткові операції над збігом перед тим, як він буде повернений в якості заміни.</p> - -<p>Функція заміни приймає фрагмент збігу в якості параметра і використовує його для перетворення регістру та приєднання дефісу перед поверненням.</p> - -<pre class="brush: js notranslate">function styleHyphenFormat(propertyName) { - function upperToHyphenLower(match, offset, string) { - return (offset > 0 ? '-' : '') + match.toLowerCase(); - } - return propertyName.replace(/[A-Z]/g, upperToHyphenLower); -} -</pre> - -<p>Наступний код <code>styleHyphenFormat('borderTop')</code> поверне <code>'border-top'</code>.</p> - -<p>Оскільки ми хочемо далі трансформувати <em>результат</em> збігу перед останочною заміною, нам потрібно використовувати функцію. Це запускає обчислення збігу пред викликом методу {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}. Якби ми спробували зробити це, використовуючи збіг без функії, метод {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}} не мав би жодного ефекту.</p> - -<pre class="brush: js example-bad notranslate">let newString = propertyName.replace(/[A-Z]/g, '-' + '$&'.toLowerCase()); // не спрацює -</pre> - -<p>Все тому, що <code>'$&'.toLowerCase()</code> спочатку був би обчислений як рядковий літерал (і в результаті повернув би той самий рядок <code>'$&'</code>) перед використанням його символів в якості шаблону.</p> - -<h3 id="Заміна_градусів_Фаренгейта_на_еквівалент_у_градусах_Цельсія">Заміна градусів Фаренгейта на еквівалент у градусах Цельсія</h3> - -<p>Наступний приклад замінює значення градусів за Фаренгейтом на його еквівалент у градусах Цельсія. Значення градусів Фаренгейта має бути числом, що закінчується літерою <code>"F"</code>. Функція повертає число за Цельсієм, що закінчується літерою <code>"C"</code>. Наприклад, якщо вхідне число дорівнює <code>"212F"</code>, функція повертає <code>"100C"</code>. Якщо число дорівнює <code>"0F"</code>, функція вертає <code>"-17.77777777777778C"</code>.</p> - -<p>Регулярний вираз <code>test</code> перевіряє будь-яке число, що закінчується літерою <code>F</code>. Значення градусів Фаренгейта доступне функції через її другий параметр <code>p1</code>. Функція присвоює значення за Цельсієм, базуючись на градусах Фаренгейта, переданих у рядку до функції <code>f2c()</code>. Далі <code>f2c()</code> повертає значення за Цельсієм. Ця функція схожа на прапор мови Perl <code>s///e</code>.</p> - -<pre class="brush: js notranslate">function f2c(x) { - function convert(str, p1, offset, s) { - return ((p1 - 32) * 5/9) + 'C'; - } - let s = String(x); - let test = /(-?\d+(?:\.\d*)?)F\b/g; - return s.replace(test, convert); -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.replace', 'String.prototype.replace')}}</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.replace")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.replaceAll", "String.prototype.replaceAll()")}}</li> - <li>{{jsxref("String.prototype.match", "String.prototype.match()")}}</li> - <li>{{jsxref("RegExp.prototype.exec", "RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test", "RegExp.prototype.test()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/replaceall/index.html b/files/uk/web/javascript/reference/global_objects/string/replaceall/index.html deleted file mode 100644 index ac59dbc1af..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/replaceall/index.html +++ /dev/null @@ -1,169 +0,0 @@ ---- -title: String.prototype.replaceAll() -slug: Web/JavaScript/Reference/Global_Objects/String/replaceAll -tags: - - JavaScript - - String - - regex - - Регулярний вираз - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>replaceAll()</code></strong> повертає новий рядок, в якому усі збіги з шаблоном замінені вказаним параметром заміни.</span> Шаблон може бути рядком або {{jsxref("RegExp","регулярним виразом")}}, а заміна може бути рядком або функцією, що викликатиметься для кожного збігу.</p> - -<p>Початковий рядок лишається незміненим.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-replaceall.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox notranslate">const newStr = <var>str</var>.replaceAll(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>regexp</var></code> (шаблон)</dt> - <dd>Об'єкт або літерал {{jsxref("RegExp","регулярного виразу")}} з глобальним прапором. Збіги замінюються на <code><var>newSubstr</var></code> або значення, яке повертає вказана функція <code><var>function</var></code>. Регулярний вираз без глобального ("g") прапора викине помилку <code>TypeError</code>: "replaceAll must be called with a global RegExp".</dd> - <dt><code><var>substr</var></code></dt> - <dd>{{jsxref("String", "Рядок")}}, який потрібно замінити на <code><var>newSubstr</var></code>. Він вважається звичайним рядком та <em>не</em> інтерпретується як регулярний вираз.</dd> - <dt><code><var>newSubstr</var></code> (заміна)</dt> - <dd>{{jsxref("String","Рядок")}}, який замінює підрядок, вказаний параметром <code><var>regexp</var></code> або <code><var>substr</var></code>. Підтримується ряд спеціальних шаблонів заміни; дивіться нижче розділ "<a href="#Використання_рядка_в_якості_параметра">Використання рядка в якості параметра</a>".</dd> - <dt><code><var>function</var></code> (заміна)</dt> - <dd>Функція, що буде викликана для створення нового підрядка, який замінить збіги з наданим параметром <code><var>regexp</var></code> або <code><var>substr</var></code>. Аргументи, що передаються в цю функцію, описані нижче в розділі "<a href="#Використання_функції_в_якості_параметра">Використання функції в якості параметра</a>".</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий рядок, в якому усі збіги з шаблоном замінені.</p> - -<h2 id="Опис">Опис</h2> - -<p>Цей метод не змінює об'єкт {{jsxref("String")}}, що його викликав. Він просто повертає новий рядок.</p> - -<h3 id="Використання_рядка_в_якості_параметра">Використання рядка в якості параметра</h3> - -<p>Рядок заміни може містити наступні спеціальні шаблони заміни:</p> - -<table class="standard-table"> - <thead> - <tr> - <th class="header" scope="col">Шаблон</th> - <th class="header" scope="col">Вставляє</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>$$</code></td> - <td>Вставляє <code>"$"</code>.</td> - </tr> - <tr> - <td><code>$&</code></td> - <td>Вставляє знайдений підрядок.</td> - </tr> - <tr> - <td><code>$`</code></td> - <td>Вставляє частину рядка, що передує знайденому підрядку.</td> - </tr> - <tr> - <td><code>$'</code></td> - <td>Вставляє частину рядка, що розташована за знайденим підрядком.</td> - </tr> - <tr> - <td><code>$<var>n</var></code></td> - <td>Де <code><var>n</var></code> є додатним цілим числом, меншим за 100, вставляє <code><var>n</var></code>-й підрядок збігів у дужках, за умови, що першим аргументом був об'єкт {{jsxref("RegExp")}}. Зауважте, що вони індексуються з <code>1</code>.</td> - </tr> - </tbody> -</table> - -<h3 id="Використання_функції_в_якості_параметра">Використання функції в якості параметра</h3> - -<p>Ви можете вказати функцію в якості другого параметра. У цьому випадку функція буде викликана після знайдення збігу. Результат функції (повернене значення) буде використаний в якості рядка заміни. (<strong>Заувага:</strong> Вищезазначені спеціальні шаблони заміни <em>не</em> застосовуються у цьому випадку.)</p> - -<p>Зауважте, що функція буде викликатись багаторазово, для кожного повного збігу, що буде замінений, якщо регулярний вираз у першому параметрі є глобальним.</p> - -<p>Функція має наступні аргументи:</p> - -<table class="standard-table"> - <thead> - <tr> - <th class="header" scope="col">Можливе ім'я</th> - <th class="header" scope="col">Надане значення</th> - </tr> - </thead> - <tbody> - <tr> - <td><code>match</code></td> - <td>Знайдений підрядок. (Відповідає вищенаведеному <code>$&</code>)</td> - </tr> - <tr> - <td><code>p1, p2, ...</code></td> - <td><var>n</var>-й рядок, знайдений захопленою групою у дужках, за умови, що першим аргументом методу <code>replace()</code> був об'єкт {{jsxref("RegExp")}}. (Відповідає вищенаведеним <code>$1</code>, <code>$2</code> і т.д.) Наприклад, якщо був наданий аргумент <code>/(\a+)(\b+)/</code>, то <code>p1</code> є збігом з <code>\a+</code>, а <code>p2</code> - збігом з <code>\b+</code>.</td> - </tr> - <tr> - <td><code>offset</code></td> - <td>Зсув знайденого підрядка всередині рядка, що перевіряється. (Наприклад, якби цілим рядком був <code>'абвг'</code>, а знайденим підрядком <code>'бв'</code>, то цей аргумент дорівнював би <code>1</code>.)</td> - </tr> - <tr> - <td><code>string</code></td> - <td>Весь рядок, що перевіряється.</td> - </tr> - </tbody> -</table> - -<p>(Точна кількість аргументів залежить від того, чи є перший аргумент об'єктом {{jsxref("RegExp")}} і, якщо є, то скільки збігів, заключених у дужки, він визначає.)</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_replaceAll">Використання replaceAll</h3> - -<pre class="brush: js notranslate">'ааббвв'.replaceAll('б', '.'); -// 'аа..вв'</pre> - -<h3 id="Неглобальний_регулярний_вираз_викидає_виняток">Неглобальний регулярний вираз викидає виняток</h3> - -<p>Якщо використовується регулярний вираз в якості значення пошуку, він повинен бути глобальним. Це не працюватиме:</p> - -<pre class="brush: js; example-bad notranslate">'ааббвв'.replaceAll(/б/, '.'); -TypeError: replaceAll must be called with a global RegExp -</pre> - -<p>Так працюватиме:</p> - -<pre class="brush: js; example-good notranslate">'ааббвв'.replaceAll(/б/g, '.'); -"аа..вв" -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.replaceall', 'String.prototype.replaceAll')}}</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.replaceAll")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.replace", "String.prototype.replace()")}}</li> - <li>{{jsxref("String.prototype.match", "String.prototype.match()")}}</li> - <li>{{jsxref("RegExp.prototype.exec", "RegExp.prototype.exec()")}}</li> - <li>{{jsxref("RegExp.prototype.test", "RegExp.prototype.test()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/search/index.html b/files/uk/web/javascript/reference/global_objects/string/search/index.html deleted file mode 100644 index 7d81b5d0a3..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/search/index.html +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: String.prototype.search() -slug: Web/JavaScript/Reference/Global_Objects/String/search -tags: - - JavaScript - - Prototype - - String - - Довідка - - Регулярний вираз -translation_of: Web/JavaScript/Reference/Global_Objects/String/search ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>search()</code></strong> здійснює пошук у рядку за вказаним регулярним виразом.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.search(<var>regexp</var>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>regexp</code></dt> - <dd>Об'єкт регулярного виразу. Якщо передати значення <code>value</code> іншого типу, його буде зведено до {{jsxref("RegExp")}} за допомогою оператора <code>new RegExp(value)</code>.</dd> -</dl> - -<h3 id="Вертає">Вертає</h3> - -<p>Індекс початку першого збігу між рядком та переданим регулярним виразом; якщо збігу не знайдено, вертає значення <code>-1</code>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>search()</code> використовується тоді, коли треба не лише знати, чи містить рядок відповідну послідовність, а й з'ясувати, в якому саме місці вона починається. Натомість можно скористатися методом <code>{{jsxref("RegExp.prototype.test()")}}</code>, що вертає <code>boolean</code>, якщо треба з'ясувати лише наявність такої послідовності.<br> - Ще детальнішу інформацію про результат пошуку (коштом нижчої швидкодії) можна отримати за допомогою метода <code>{{jsxref("String.prototype.match()", "match()")}}</code> або <code>{{jsxref("RegExp.prototype.exec()")}}</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_search()">Використання <code>search()</code></h3> - -<p>В цьому прикладі наведено успішний пошук (метод вертає невід'ємне значення):</p> - -<pre class="brush: js">var str = "Красно дякую, панове!"; - -// Шукаємо послідовність із шести рядкових (маленьких) літер. -var pattern = /[а-я]{6}/g; -console.log(str.search(pattern)); // вертає 14, що є індексом літери «п»</pre> - -<p>Натомість в уьому прикладі знайти шукане неможливо (рядок не містить жодної крапки), тож метод вертає значення <code>-1</code>:</p> - -<pre class="brush: js">var str = "Щиро вітаю, друже мій!"; -var pattern = /[.]/g; -console.log(str.search(pattern)); // вертає -1 -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - <th scope="col">Статус</th> - <th scope="col">Коментар</th> - </tr> - <tr> - <td>{{SpecName('ES3')}}</td> - <td>{{Spec2('ES3')}}</td> - <td>Початкова виознака, запроваджено у JavaScript 1.2.</td> - </tr> - <tr> - <td>{{SpecName('ES5.1', '#sec-15.5.4.12', 'String.prototype.search')}}</td> - <td>{{Spec2('ES5.1')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ES6', '#sec-string.prototype.search', 'String.prototype.search')}}</td> - <td>{{Spec2('ES6')}}</td> - <td> </td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.search', 'String.prototype.search')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td> </td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<div class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> - -<p>{{Compat("javascript.builtins.String.search")}}</p> - -<h2 id="Зауваги_щодо_Gecko">Зауваги щодо Gecko</h2> - -<ul> - <li>Реалізація <code>search()</code> до {{Gecko("8.0")}} містила помилку; коли виклик здійснювався без параметрів, або зі значенням {{jsxref("undefined")}}, метод шукав рядок 'undefined', замість порожнього рядка (себто послідовності нульової довжини). В новіших версіях це виправлено: виклики <code>'a'.search()</code> та <code>'a'.search(undefined)</code> тепер вертають <code>0</code>, як і належить.</li> - <li>З версії Gecko 39 {{geckoRelease(39)}}, нестандартний аргумент з прапорцями визнано застарілим, тож виклик метода з таким аргументом друкує відповідне попередження в консолі ({{bug(1142351)}}).</li> - <li>З версії Gecko 47 {{geckoRelease(47)}}, нестандартний аргумент з прапорцями не підтримується в проміжних збірках й невдовзі буде цілком видалений ({{bug(1245801)}}).</li> - <li>З версії Gecko 49 {{geckoRelease(49)}}, нестандартний аргумент з прапорцями не підтримується ({{bug(1108382)}}).</li> -</ul> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.match()")}}</li> - <li>{{jsxref("RegExp.prototype.exec()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/slice/index.html b/files/uk/web/javascript/reference/global_objects/string/slice/index.html deleted file mode 100644 index 944e757382..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/slice/index.html +++ /dev/null @@ -1,116 +0,0 @@ ---- -title: String.prototype.slice() -slug: Web/JavaScript/Reference/Global_Objects/String/slice -tags: - - JavaScript - - String - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/slice ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>slice()</code></strong> вирізає частину рядка та повертає її як новий рядок, не змінюючи початковий.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-slice.html", "taller")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.slice(<var>beginIndex</var>[, <var>endIndex</var>])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>beginIndex</var></code></dt> - <dd> - <p>Індекс на основі нуля, з якого починається копіювання. Якщо індекс від'ємний, він сприймається як <code><var>str</var>.length + <var>beginIndex</var></code>. (Наприклад, якщо <code><var>beginIndex</var></code> дорівнює <code>-3</code>, він сприймається як <code><var>str</var>.length - 3</code>.)</p> - - <p>Якщо значення <em><code>beginIndex</code></em> більше за довжину рядка <code><em>str</em>.length</code> або дорівнює їй, <code>slice()</code> повертає порожній рядок.</p> - </dd> - <dt><code><var>endIndex</var></code> {{optional_inline}}</dt> - <dd> - <p>Індекс на основі нуля, <em>до</em> якого треба виконувати копіювання. Символ за цим індексом не буде включений.</p> - - <p>Якщо <code><var>endIndex</var></code> відсутній, <code>slice()</code> копіює до кінця рядка. Якщо його значення від'ємне, він сприймається як <code><var>str</var>.length + <var>endIndex</var></code>. (Наприклад, якщо <code><var>endIndex</var></code> дорівнює <code>-3</code>, він сприймається як <code><var>str</var>.length - 3</code>.)</p> - </dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий рядок, що містить вказану частину рядка.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>slice()</code> дістає текст з одного рядка та повертає новий рядок. Зміни у тексті одного з рядків не впливають на інший рядок.</p> - -<p><code>slice()</code> скопіює текст по індекс <code><var>endIndex</var></code><var> </var>(але не включно). <code>str.slice(1,4)</code> копіює з другого по четвертий символ (символи за індексами <code>1</code>, <code>2</code>, та <code>3</code>).</p> - -<p>Наприклад, <code><var>str</var>.slice(2, -1)</code> копіює частину від третього до другого з кінця символу рядка.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_slice_для_створення_нового_рядка">Використання <code>slice()</code> для створення нового рядка</h3> - -<p>Наступний приклад використовує <code>slice()</code>, щоб створити новий рядок.</p> - -<pre class="brush: js">let str1 = "П'ять мавпенят стрибали на столі", // довжина str1 дорівнює 32. - str2 = str1.slice(1, 8), - str3 = str1.slice(6, -2), - str4 = str1.slice(15), - str5 = str1.slice(32); -console.log(str2) // РЕЗУЛЬТАТ: 'ять ма -console.log(str3) // РЕЗУЛЬТАТ: мавпенят стрибали на сто -console.log(str4) // РЕЗУЛЬТАТ: стрибали на столі -console.log(str5) // РЕЗУЛЬТАТ: ""</pre> - -<h3 id="Використання_slice_з_відємними_індексами">Використання <code>slice()</code> з від'ємними індексами</h3> - -<p>Наступний приклад використовує <code>slice()</code> з від'ємними індексами.</p> - -<pre class="brush: js">let str = "П'ять мавпенят стрибали на столі." -str.slice(-6) // вертає "столі." -str.slice(-6, -1) // вертає "столі" -str.slice(0, -1) // вертає "П'ять мавпенят стрибали на столі"</pre> - -<p>Цей приклад відраховує у зворотньому напрямку, від кінця рядка, <code>12</code>, щоб знайти початковий індекс, та вперед з початку рядка <code>25</code>, щоб знайти кінцевий індекс.</p> - -<pre class="brush: js">console.log(str.slice(-12, 25)) // => "ли н"</pre> - -<p>Тут він рахує вперед від початку <code>21</code>, щоб знайти початковий індекс, і у зворотньому напрямку з кінця <code>8</code>, щоб знайти кінцевий індекс.</p> - -<pre class="brush: js">console.log(str.slice(21, -8)) // => "ли н"</pre> - -<p>Ці аргументи відраховують у зворотньому напрямку з кінця <code>5</code>, щоб знайти початковий індекс, та у зворотньому напрямку з кінця <code>1</code>, щоб знайти кінцевий індекс.</p> - -<pre class="brush: js">console.log(str.slice(-5, -1)) // => "толі"</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.slice', 'String.prototype.slice')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - - - -<p>{{Compat("javascript.builtins.String.slice")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.substr()")}}</li> - <li>{{jsxref("String.prototype.substring()")}}</li> - <li>{{jsxref("Array.prototype.slice()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/small/index.html b/files/uk/web/javascript/reference/global_objects/string/small/index.html deleted file mode 100644 index b7cf6d34e6..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/small/index.html +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: String.prototype.small() -slug: Web/JavaScript/Reference/Global_Objects/String/small -tags: - - JavaScript - - String - - метод - - не рекомендований - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/small ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>small()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/small" title="HTML-елемент <small> відображає супутні коментарі та дрібні надписи, такі як позначка авторського права та юридичний текст, незалежно від свого стильового відображення. За замовчуванням, він зменшує свій текст на один розмір, наприклад small до x-small."><code><small></code></a>, який відображає рядок зменшеним шрифтом.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.small()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/small" title="HTML-елемент <small> відображає супутні коментарі та дрібні надписи, такі як позначка авторського права та юридичний текст, незалежно від свого стильового відображення. За замовчуванням, він зменшує свій текст на один розмір, наприклад small до x-small."><code><small></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>small()</code> вбудовує рядок у тег <code><small></code>: <code>"<small>str</small>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_small">Використання <code>small()</code></h3> - -<p>Наступний приклад використовує рядкові методи, щоб змінювати розмір рядка:</p> - -<pre class="brush: js">var worldString = 'Привіт'; - -console.log(worldString.small()); // <small>Привіт</small> -console.log(worldString.big()); // <big>Привіт</big> -console.log(worldString.fontsize(7)); // <font size="7">Привіт</fontsize> -</pre> - -<p>Використовуючи об'єкт <a href="/uk/docs/Web/API/HTMLElement/style" title="Властивість HTMLElement.style використовується для отримання, а також присвоєння внутрішнього стилю елемента. При отриманні вона вертає об'єкт CSSStyleDeclaration, який містить список усіх властивостей стилів для цього елемента, а також значення, присвоєні атрибутам, які визначені у внутрішньому атрибуті елемента style."><code>element.style</code></a>, ви можете отримати атрибут елемента <code>style</code> та маніпулювати ним у більш загальному стилі, наприклад:</p> - -<pre class="brush: js">document.getElementById('yourElemId').style.fontSize = '0.7em'; -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.small', 'String.prototype.small')}}</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.small")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.fontsize()")}}</li> - <li>{{jsxref("String.prototype.big()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/split/index.html b/files/uk/web/javascript/reference/global_objects/string/split/index.html deleted file mode 100644 index 6aa3a2c251..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/split/index.html +++ /dev/null @@ -1,220 +0,0 @@ ---- -title: String.prototype.split() -slug: Web/JavaScript/Reference/Global_Objects/String/split -tags: - - JavaScript - - String - - Регулярний вираз - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/split ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>split()</code></strong> розділяє {{jsxref("String","рядок")}} на впорядковану множину підрядків та повертає масив цих підрядків. Ділення здійснюється пошуком шаблону; цей шаблон надається першим параметром під час виклику методу.</span></p> - -<div>{{EmbedInteractiveExample("pages/js/string-split.html", "taller")}}</div> - -<div class="hidden">The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.split([<var>separator</var>[, <var>limit</var>]])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>separator</var></code> {{optional_inline}}</dt> - <dd> - <p>Шаблон, що описує, де має відбуватися розбиття рядка. Параметр <code><var>separator</var></code> (роздільник) може бути простим рядком або {{jsxref("Global_Objects/RegExp", "регулярним виразом", "", 1)}}.</p> - - <ul> - <li>Найпростішим є випадок, коли <code><var>separator</var></code> є просто одним символом; він використовується для розмежування та розбиття рядка. Наприклад, рядок, що містить значення, розділені табуляцією (<em>TSV, tab-separated values</em>), може бути розібраний за символом табуляції в якості роздільника, ось так: <code>myString.split("\t")</code>.</li> - <li>Якщо <code><var>separator</var></code> містить множину символів, для розділення має бути знайдена вся ця послідовність.</li> - <li>Якщо параметр <code><var>separator</var></code> не вказаний чи не зустрічається у <code><var>str</var></code>, повернений масив містить один елемент, який є цілим рядком.</li> - <li>Якщо <code><var>separator</var></code> знаходиться на початку (чи в кінці) рядка, він все одно матиме ефект роздільника. Результатом буде порожній (тобто, нульової довжини) рядок, який з'явиться на першій (чи останній) позиції поверненого масиву.</li> - <li>Якщо <code><var>separator</var></code> є порожнім рядком (<code>""</code>), <code><var>str</var></code> перетворюється на масив з кожного зі своїх "символів" UTF-16.</li> - </ul> - - <div class="blockIndicator warning"> - <p><strong>Застереження:</strong> Коли в якості роздільника використовується порожній рядок (<code>""</code>), рядок <strong>не</strong> розбивається на символи<em>, що сприймаються користувачем</em> (<a href="https://unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries">кластери графем</a>), чи символи Юнікоду (коди символів), а лише на кодові одиниці UTF-16. Це розбиває <a href="http://unicode.org/faq/utf_bom.html#utf16-2">сурогатні пари</a>. Дивіться <a href="https://stackoverflow.com/a/34717402">“Як перетворити рядок на масив символів у JavaScript?” на StackOverflow</a>.</p> - </div> - </dd> - <dt><code><var>limit</var></code> {{optional_inline}}</dt> - <dd> - <p>Невід'ємне ціле число, що обмежує кількість частин. Якщо надане, метод розбиває рядок на кожному знайденому роздільнику <code><var>separator</var></code>, але зупиняється, коли у масив була додана кількість елементів <code><var>limit</var></code>. Будь-який текст, що лишився, взагалі не буде доданий у масив.</p> - - <ul> - <li>Масив може містити меншу за <code>limit</code> кількість елементів, якщо рядок закінчився раніше, ніж було досятнуто значення <em><code>limit</code></em>.</li> - <li>Якщо <code><var>limit</var></code> дорівнює <code>0</code>, розділення рядка не виконується.</li> - </ul> - </dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>{{jsxref("Array", "Масив")}} рядків, відділених у кожній точці, де роздільник <code>separator</code> зустрічається у наданому рядку.</p> - -<h2 id="Опис">Опис</h2> - -<p>Коли <code>separator</code> знайдено, він видаляється з рядка, а підрядки повертаються у масиві.</p> - -<p>Якщо <code>separator</code> є регулярним виразом із захопленими групами, то під час кожного збігу з <code>separator</code> результати (в тому числі undefined) захоплених груп додаються у масив результатів.</p> - -<p>Якщо роздільник є масивом, то він примусово приводиться до рядка та використовується в якості роздільника.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_split">Використання <code>split()</code></h3> - -<div id="split_empty_string"> -<p>Коли рядок порожній, <code>split()</code> повертає масив, що містить один порожній рядок, а не порожній масив. Якщо і рядок, і роздільник є порожніми рядками, повертається порожній масив.</p> - -<pre class="brush: js">const myString = '' -const splits = myString.split() - -console.log(splits) - -// ↪ [""] -</pre> -</div> - -<p>Наступний приклад визначає функцію, яка розбиває рядок на масив рядків, використовуючи вказаний роздільник. Після розбиття рядка функція виводить повідомлення, які містять початковий рядок (до розбиття), використаний роздільник, кількість елементів масиву та окремі елементи масиву.</p> - -<pre class="brush: js">function splitString(stringToSplit, separator) { - const arrayOfStrings = stringToSplit.split(separator) - - console.log('Початковий рядок: ', stringToSplit) - console.log('Роздільник: ', separator) - console.log('Масив містить ', arrayOfStrings.length, ' елементів: ', arrayOfStrings.join(' / ')) -} - -const tempestString = 'Який чудесний світ новий оцей де отакі є люди!' -const monthString = 'Січ,Лют,Берез,Квіт,Трав,Черв,Лип,Серп,Верес,Жовт,Листоп,Груд' - -const space = ' ' -const comma = ',' - -splitString(tempestString, space) -splitString(tempestString) -splitString(monthString, comma) -</pre> - -<p>Цей приклад виводить наступний результат:</p> - -<pre class="brush: js">Початковий рядок: Який чудесний світ новий оцей де отакі є люди! -Роздільник: " " -Масив містить 9 елементів: Який / чудесний / світ / новий / оцей / де / отакі / є / люди! - -Початковий рядок: Який чудесний світ новий оцей де отакі є люди! -Роздільник: "undefined" -Масив містить 1 елементів: Який чудесний світ новий оцей де отакі є люди! - -Початковий рядок: Січ,Лют,Берез,Квіт,Трав,Черв,Лип,Серп,Верес,Жовт,Листоп,Груд -Роздільник: "," -Масив містить 12 елементів: Січ / Лют / Берез / Квіт / Трав / Черв / Лип / Серп / Верес / Жовт / Листоп / Груд</pre> - -<h3 id="Видалення_пробілів_з_рядка">Видалення пробілів з рядка</h3> - -<p>У наступному прикладі <code>split()</code> шукає нуль або більше пробілів з наступною крапкою з комою, з наступним нулем чи більше пробілів — і, коли знаходить, видаляє пробіли та крапку з комою з рядка. <code>nameList</code> є масивом, що повертається як результат методу <code>split()</code>.</p> - -<pre class="brush: js">const names = 'Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand ' - -console.log(names) - -const re = /\s*(?:;|$)\s*/ -const nameList = names.split(re) - -console.log(nameList) -</pre> - -<p>Цей код виводить два рядки; перший виводить початковий рядок, а другий - масив, отриманий в результаті.</p> - -<pre class="brush: js">Harry Trump ;Fred Barney; Helen Rigby ; Bill Abel ;Chris Hand -[ "Harry Trump", "Fred Barney", "Helen Rigby", "Bill Abel", "Chris Hand", "" ]</pre> - -<h3 id="Повернення_обмеженої_кількості_елементів">Повернення обмеженої кількості елементів</h3> - -<p>У наступному прикладі <code>split()</code> шукає пробіли у рядку та повертає перші 3 елементи, які знаходить.</p> - -<pre class="brush: js">const myString = 'Всім привіт. Як справи?' -const splits = myString.split(' ', 3) - -console.log(splits) -</pre> - -<p>Цей скрипт виведе наступне:</p> - -<pre>["Всім", "привіт.", "Як"] -</pre> - -<h3 id="Розбиття_за_допомогою_RegExp_з_додаванням_частин_роздільника_у_результат">Розбиття за допомогою <code>RegExp</code> з додаванням частин роздільника у результат</h3> - -<p>Якщо <code><var>separator</var></code> є регулярним виразом, що містить дужки <code>(</code><code>)</code>, то збіги також додаються у масив.</p> - -<pre class="brush: js">const myString = 'Привіт 1 слово. Речення номер 2.' -const splits = myString.split(/(\d)/) - -console.log(splits) -</pre> - -<p>Цей скрипт виведе наступне:</p> - -<pre class="brush: js">[ "Привіт ", "1", " слово. Речення номер ", "2", "." ]</pre> - -<div class="blockIndicator note"> -<p><strong>Заувага: </strong><code>\d</code> відповідає <a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions/Character_Classes">символьному класу</a> цифр між 0 та 9.</p> -</div> - -<h3 id="Перевертання_рядка_за_допомотою_split">Перевертання рядка за допомотою <code>split()</code></h3> - -<div class="warning"> -<p>Це не найнадійніший спосіб перевертання рядка:</p> - -<pre class="brush: js example-bad">const str = 'йцуке' -const strReverse = str.split('').reverse().join('') -// 'екуцй' - -// split() повертає масив, на якому можна застосувати reverse() та join() -</pre> - -<p>Він не працює, якщо рядок містить кластери графем, навіть при використанні методу split, сумісного з Юнікодом (замість цього скористайтесь, наприклад, <a href="https://github.com/mathiasbynens/esrever">esrever</a>).</p> - -<pre class="brush: js example-bad">const str = 'résumé' -const strReverse = str.split(/(?:)/u).reverse().join('') -// => "́emuśer" -</pre> - -<p><strong>Бонус:</strong> скористайтесь оператором {{jsxref("Operators/Оператори_порівняння", "===", "#Ідентичність_строга_рівність")}}, щоб перевірити, чи був початковий рядок паліндромом.</p> -</div> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.split', 'String.prototype.split')}}</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.split")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.charAt()")}}</li> - <li>{{jsxref("String.prototype.indexOf()")}}</li> - <li>{{jsxref("String.prototype.lastIndexOf()")}}</li> - <li>{{jsxref("Array.prototype.join()")}}</li> - <li><a href="/uk/docs/Web/JavaScript/Guide/Regular_Expressions">Використання регулярних виразів у JavaScript</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/startswith/index.html b/files/uk/web/javascript/reference/global_objects/string/startswith/index.html deleted file mode 100644 index a1850169e5..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/startswith/index.html +++ /dev/null @@ -1,96 +0,0 @@ ---- -title: String.prototype.startsWith() -slug: Web/JavaScript/Reference/Global_Objects/String/startsWith -tags: - - ECMAScript 2015 - - JavaScript - - String - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith ---- -<div>{{JSRef}}</div> - -<p><span class="seoSummary">Метод <strong><code>startsWith()</code></strong> визначає, чи починається рядок з символів заданого рядка, повертаючи, відповідно, <code>true</code> чи <code>false</code>.</span></p> - -<div>{{EmbedInteractiveExample("pages/js/string-startswith.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.startsWith(<var>searchString</var>[, <var>position</var>])</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>searchString</var></code></dt> - <dd>Символи, які шукатимуться на початку рядка.</dd> - <dt><code><var>position</var></code> {{optional_inline}}</dt> - <dd>Позиція у цьому рядку, з якої починатиметься пошук рядка <code><var>searchString</var></code>. За замовчуванням <code>0</code>.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p><strong><code>true</code></strong>, якщо надані символи знайдені на початку рядка; інакше, <strong><code>false</code></strong>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Цей метод дозволяє визначити, починається чи ні рядок з символів іншого рядка. Цей метод чутливий до регістру.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_startsWith">Використання <code>startsWith()</code></h3> - -<pre class="brush: js">let str = 'Питання в тому: бути чи не бути.' - -console.log(str.startsWith('Питання')) // true -console.log(str.startsWith('бути')) // false -console.log(str.startsWith('бути', 16)) // true -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>Цей метод був доданий у специфікації ECMAScript 2015 і може не бути доступним в усіх реалізаціях JavaScript. Однак, ви можете створити поліфіл <code>String.prototype.startsWith()</code> за допомогою наступного коду:</p> - -<pre class="brush: js">if (!String.prototype.startsWith) { - Object.defineProperty(String.prototype, 'startsWith', { - value: function(search, rawPos) { - var pos = rawPos > 0 ? rawPos|0 : 0; - return this.substring(pos, pos + search.length) === search; - } - }); -} -</pre> - -<p>Більш надійний (у повній відповідності до специфікації ES2015), але менш швидкий та компактний поліфіл доступний <a href="https://github.com/mathiasbynens/String.prototype.startsWith">на GitHub за авторством Mathias Bynens</a>.</p> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.startswith', 'String.prototype.startsWith')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - - - -<p>{{Compat("javascript.builtins.String.startsWith")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.endsWith()")}}</li> - <li>{{jsxref("String.prototype.includes()")}}</li> - <li>{{jsxref("String.prototype.indexOf()")}}</li> - <li>{{jsxref("String.prototype.lastIndexOf()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/strike/index.html b/files/uk/web/javascript/reference/global_objects/string/strike/index.html deleted file mode 100644 index 55ab07f635..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/strike/index.html +++ /dev/null @@ -1,67 +0,0 @@ ---- -title: String.prototype.strike() -slug: Web/JavaScript/Reference/Global_Objects/String/strike -tags: - - JavaScript - - String - - метод - - не рекомендований - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/strike ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>strike()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/strike" title="HTML-елемент <strike> (або Strikethrough) малює на тексті перекреслення (горизонтальну лінію)."><code><strike></code></a>, який відображає рядок з перекресленим текстом.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.strike()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/strike" title="HTML-елемент <strike> (або Strikethrough) малює на тексті перекреслення (горизонтальну лінію)."><code><strike></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>strike()</code> вбудовує рядок у тег <code><strike></code>: <code>"<strike>str</strike>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_strike">Використання <code>strike()</code></h3> - -<p>Наступний приклад використовує рядкові методи, щоб змінити форматування рядка:</p> - -<pre class="brush: js">var worldString = 'Всім привіт'; - -console.log(worldString.blink()); // <blink>Всім привіт</blink> -console.log(worldString.bold()); // <b>Всім привіт</b> -console.log(worldString.italics()); // <i>Всім привіт</i> -console.log(worldString.strike()); // <strike>Всім привіт</strike> -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.strike', 'String.prototype.strike')}}</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.strike")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.blink()")}}</li> - <li>{{jsxref("String.prototype.bold()")}}</li> - <li>{{jsxref("String.prototype.italics()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/string/index.html b/files/uk/web/javascript/reference/global_objects/string/string/index.html deleted file mode 100644 index 65f85d4d0a..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/string/index.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: Конструктор String() -slug: Web/JavaScript/Reference/Global_Objects/String/String -tags: - - JavaScript - - String - - Конструктор - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/String ---- -<div>{{JSRef}}</div> - -<p>Конструктор <strong><code>String</code></strong> використовується для створення нового об'єкта {{jsxref("String")}}. Він виконує перетворення типів, коли викликається як функція, а не як конструктор, що, зазвичай, більш корисно.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox">new String(<var>thing</var>) -String(<var>thing</var>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>thing</var></code></dt> - <dd>Будь-що, що перетвориться на рядок.</dd> -</dl> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Конструктор_String_та_функція_String">Конструктор String та функція String</h3> - -<p>Функція String та конструктор String повертають різні результати:</p> - -<pre class="brush: js">typeof String('Всім привіт'); // string -typeof new String('Всім привіт'); // object -</pre> - -<p>Тут функція, як і обіцяно, повертає рядок (<a href="/uk/docs/Glossary/primitive">простий</a> тип даних). Однак, конструктор повертає екземпляр типу String (об'єкт-обгортку), саме тому вам нечасто захочеться взагалі використовувати конструктор String.</p> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string-constructor', 'String constructor')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Сумісність_з_веб-переглядачами">Сумісність з веб-переглядачами</h2> - - - -<p>{{Compat("javascript.builtins.String.String")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li><a href="/uk/docs/Web/JavaScript/Guide/Text_formatting">Форматування тексту у посібнику JavaScript</a></li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/sub/index.html b/files/uk/web/javascript/reference/global_objects/string/sub/index.html deleted file mode 100644 index 5aa09a91ce..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/sub/index.html +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: String.prototype.sub() -slug: Web/JavaScript/Reference/Global_Objects/String/sub -tags: - - HTML - - JavaScript - - String - - метод - - не рекомендований - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/sub ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>sub()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/sub" title="HTML-елемент нижнього індексу (<sub>) вказує вбудований текст, який необхідно відобразити нижнім індексом суто для друкарського використання."><code><sub></code></a>, який відображає рядок у вигляді нижнього індексу.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.sub()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/sub" title="HTML-елемент нижнього індексу (<sub>) вказує вбудований текст, який необхідно відобразити нижнім індексом суто для друкарського використання."><code><sub></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>sub()</code> вбудовує рядок у тег <code><sub></code>: <code>"<sub>str</sub>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_методів_sub_та_sup">Використання методів <code>sub()</code> та <code>sup()</code></h3> - -<p>Наступний приклад використовує методи <code>sub()</code> та {{jsxref("String.prototype.sup()", "sup()")}} для форматування рядка:</p> - -<pre class="brush: js">var superText = 'верхній індекс'; -var subText = 'нижній індекс'; - -console.log('Так виглядає ' + superText.sup() + '.'); -// Так виглядає <sup>верхній індекс</sup>. - -console.log('Так виглядає ' + subText.sub() + '.'); -// Так виглядає <sub>нижній індекс</sub>. -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.sub', 'String.prototype.sub')}}</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.sub")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.sup()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/substr/index.html b/files/uk/web/javascript/reference/global_objects/string/substr/index.html deleted file mode 100644 index 265ef1552d..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/substr/index.html +++ /dev/null @@ -1,118 +0,0 @@ ---- -title: String.prototype.substr() -slug: Web/JavaScript/Reference/Global_Objects/String/substr -tags: - - JavaScript - - String - - метод - - не рекомендований - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/substr ---- -<p>{{JSRef}}</p> - -<div class="warning"><strong>Застереження</strong>: Хоча метод <code>String.prototype.substr(…)</code> не є строго не рекомендованим (як "прибраний з веб-стандартів"), він вважається <strong>застарілим</strong> та не бажаний для використання, коли це можливо. Він не є частиною ядра мови JavaScript та може бути прибраний в майбутньому. За можливості, використовуйте замість нього метод <code><a href="/uk/docs/Web/JavaScript/Reference/Global_Objects/String/substring">substring()</a></code>.</div> - -<p class="seoSummary">Метод <strong><code>substr()</code></strong> повертає частину рядка, що починається з вказаного індекса та продовжується вказану кількість символів.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-substr.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.substr(<var>start</var>[, <var>length]</var>)</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>start</code></dt> - <dd>Індекс першого символу, який треба включити у повернений рядок.</dd> - <dt><code>length</code></dt> - <dd>Необов'язковий. Кількість символів, яку треба повернути.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий рядок, що містить вказану частину наданого рядка.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>substr()</code> вирізає <code>length</code> символів з рядка <code>string</code>, рахуючи з початкового індексу <code>start</code>.</p> - -<p>Якщо <code>start</code> є додатним числом, індекс рахується з початку рядка. Його значення обмежується значенням <code>str.length</code>.<br> - Якщо <code>start</code> є від'ємним числом, індекс рахується з кінця рядка. Його значення обмежується значенням <code>-str.length</code>.<br> - Заувага: У Microsoft JScript від'ємне значення аргументу <code>start</code> не вважається посиланням на кінець рядка.</p> - -<p>Якщо аргумент <code>length</code> пропущений, <code>substr()</code> повертає символи до кінця рядка.<br> - Якщо <code>length</code> дорівнює {{jsxref("undefined")}}, <code>substr()</code> повертає символи до кінця рядка.<br> - Якщо <code>length</code> є від'ємним числом, він вважається рівним 0.</p> - -<p>Для обох, <code>start</code> та <code>length</code>, NaN вважається рівним 0.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_substr">Використання <code>substr()</code></h3> - -<pre class="brush: js">var aString = 'Mozilla'; - -console.log(aString.substr(0, 1)); // 'M' -console.log(aString.substr(1, 0)); // '' -console.log(aString.substr(-1, 1)); // 'a' -console.log(aString.substr(1, -1)); // '' -console.log(aString.substr(-3)); // 'lla' -console.log(aString.substr(1)); // 'ozilla' -console.log(aString.substr(-20, 2)); // 'Mo' -console.log(aString.substr(20, 2)); // '' -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>JScript у Microsoft не підтримує від'ємні значення початкового індекса. Щоб використовувати цю функціональність у JScript, ви можете скористатись наступним кодом:</p> - -<pre class="brush: js">// запускайте тільки якщо функція substr() не працює -if ('ab'.substr(-1) != 'b') { - /** - * Отримати підрядок з рядка - * @param {integer} start де почати підрядок - * @param {integer} length скільки символів повертати - * @return {string} - */ - String.prototype.substr = function(substr) { - return function(start, length) { - // викликаємо початковий метод - return substr.call(this, - // якщо ми отримали від'ємний start, порахувати, скільки це від початку рядка - // відкоригувати параметр start для від'ємного значення - start < 0 ? this.length + start : start, - length) - } - }(String.prototype.substr); -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.substr', 'String.prototype.substr')}}</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.substr")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.slice()")}}</li> - <li>{{jsxref("String.prototype.substring()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/substring/index.html b/files/uk/web/javascript/reference/global_objects/string/substring/index.html deleted file mode 100644 index 146c0e05b5..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/substring/index.html +++ /dev/null @@ -1,181 +0,0 @@ ---- -title: String.prototype.substring() -slug: Web/JavaScript/Reference/Global_Objects/String/substring -tags: - - JavaScript - - String - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/substring ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>substring()</code></strong> повертає частину рядка між початковим та кінцевим індексами, або до кінця рядка.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-substring.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.substring(<var>indexStart</var>[, <var>indexEnd</var>])</code></pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code><var>indexStart</var></code></dt> - <dd>Індекс першого символу, який потрібно включити у повернений рядок.</dd> - <dt><code><var>indexEnd</var></code> {{optional_inline}}</dt> - <dd>Індекс першого символу, який непотрібно включати у повернений рядок.</dd> -</dl> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Новий рядок, що містить вказану частину наданого рядка.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>substring()</code> вирізає символи, починаючи з <code><var>indexStart</var></code><var>,</var> і до (<em>але не включно з</em>) <code><var>indexEnd</var></code>. Зокрема:</p> - -<ul> - <li>Якщо <code><var>indexEnd</var></code> не надано, <code>substring()</code> вирізає символи до кінця рядка.</li> - <li>Якщо <code><var>indexStart</var></code> дорівнює <code><var>indexEnd</var></code>, <code>substring()</code> повертає порожній рядок.</li> - <li>Якщо <code><var>indexStart</var></code> більший за <code><var>indexEnd</var></code>, тоді ефект <code>substring()</code> буде такий, ніби два аргументи поміняли місцями; Дивіться приклад нижче.</li> -</ul> - -<p>Будь-яке значення аргументу менше за <code>0</code> чи більше за <code>stringName.length</code> вважається рівним <code>0</code> та <code>stringName.length</code>, відповідно.</p> - -<p>Будь-яке значення аргументу, що є {{jsxref("NaN")}}, вважається рівним <code>0</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_substring">Використання <code>substring()</code></h3> - -<p>Наступний приклад використовує <code>substring()</code>, щоб вивести символи з рядка <code>'Mozilla'</code>:</p> - -<pre class="brush: js">let anyString = 'Mozilla' - -// Виводить 'M' -console.log(anyString.substring(0, 1)) -console.log(anyString.substring(1, 0)) - -// Виводить 'Mozill' -console.log(anyString.substring(0, 6)) - -// Виводить 'lla' -console.log(anyString.substring(4)) -console.log(anyString.substring(4, 7)) -console.log(anyString.substring(7, 4)) - -// Виводить 'Mozilla' -console.log(anyString.substring(0, 7)) -console.log(anyString.substring(0, 10)) -</pre> - -<h3 id="Використання_substring_з_властивістю_length">Використання <code>substring()</code> з властивістю <code>length</code></h3> - -<p>Наступний приклад використовує метод <code>substring()</code> та властивість {{jsxref("String.length", "length")}}, щоб отримати останні символи певного рядка. Цей метод, можливо, легше запам'ятати, враховуючи, що вам не потрібно знати початковий та кінцевий індекси, як у попередніх прикладах.</p> - -<pre class="brush: js">// Виводить 'illa', останні 4 символи -let anyString = 'Mozilla' -let anyString4 = anyString.substring(anyString.length - 4) -console.log(anyString4) - -// Виводить 'zilla' останні 5 символів -let anyString = 'Mozilla' -let anyString5 = anyString.substring(anyString.length - 5) -console.log(anyString5) -</pre> - -<h3 id="Різниця_між_substring_та_substr">Різниця між <code>substring()</code> та <code>substr()</code></h3> - -<p>Існує невелика відмінність між методами <code>substring()</code> та {{jsxref("String.substr", "substr()")}}, тому слід бути обережними, щоб не переплутати їх.</p> - -<p>Аргументи <code>substring()</code> відображають початковий та кінцевий індекси, в той час, як аргументи <code>substr()</code> відображають початковий індекс та кількість символів, яку необхідно включити у повернений рядок.</p> - -<p>Крім того, метод <code>substr()</code> вважається <strong>застарілою функціональністю ECMAScript</strong> та може бути прибраний з майбутніх версій, а отже, його краще уникати, де можливо.</p> - -<pre class="brush: js">let text = 'Mozilla' -console.log(text.substring(2,5)) // => "zil" -console.log(text.substr(2,3)) // => "zil"</pre> - -<h3 id="Різниця_між_substring_та_slice">Різниця між <code>substring()</code> та <code>slice()</code></h3> - -<p>Методи <code>substring()</code> та {{jsxref("String.slice", "slice()")}} майже ідентичні, але між ними є пара невеликих відмінностей, особливо у поводженні з від'ємними аргументами.</p> - -<p>Метод <code>substring()</code> міняє місцями свої аргументи, якщо <code><var>indexStart</var></code> більший за <code><var>indexEnd</var></code>, це означає, що рядок все одно буде повернений. Метод {{jsxref("String.slice", "slice()")}} повертає порожній рядок у цьому випадку.</p> - -<pre class="brush: js">let text = 'Mozilla' -console.log(text.substring(5, 2)) // => "zil" -console.log(text.slice(5, 2)) // => "" -</pre> - -<p>Якщо один або обидва аргументи від'ємні чи <code>NaN</code>, метод <code>substring()</code> вважає, що вони дорівнюють <code>0</code>.</p> - -<pre class="brush: js">console.log(text.substring(-5, 2)) // => "Mo" -console.log(text.substring(-5, -2)) // => "" -</pre> - -<p><code>slice()</code> також вважає аргументи <code>NaN</code> рівними <code>0</code>, але, коли отримує від'ємні значення, він рахує індекс у зворотньому напрямку, з кінця рядка.</p> - -<pre class="brush: js">console.log(text.slice(-5, 2)) // => "" -console.log(text.slice(-5, -2)) // => "zil" -</pre> - -<p>Дивіться більше прикладів з від'ємними числами на сторінці {{jsxref("String.slice", "slice()")}}.</p> - -<h3 id="Заміна_підрядка_всередині_рядка">Заміна підрядка всередині рядка</h3> - -<p>Наступний приклад замінює підрядок всередині рядка. Він замінить і окремі символи, і підрядки. Виклик функції в кінці прикладу змінює рядок <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">Прекрасний новий світ</span></font> на <code>Прекрасний новий сайт</code>.</p> - -<pre class="brush: js">// Замінює oldS на newS у рядку fullS -function replaceString(oldS, newS, fullS) { - for (let i = 0; i < fullS.length; ++i) { - if (fullS.substring(i, i + oldS.length) == oldS) { - fullS = fullS.substring(0, i) + newS + fullS.substring(i + oldS.length, fullS.length) - } - } - return fullS -} - -replaceString('світ', 'сайт', 'Прекрасний новий світ') -</pre> - -<p>Зауважте, що це може призвести до нескінченного циклу, якщо <code>oldS</code> сам є підрядком <code>newS</code> — наприклад, якби ви спробували замінити тут <code>'світ'</code> на <code>'всесвіт'</code>.</p> - -<p>Кращим методом заміни рядків є наступний:</p> - -<pre class="brush: js">function replaceString(oldS, newS, fullS) { - return fullS.split(oldS).join(newS) -} -</pre> - -<p>Наведений вище код є прикладом операцій з підрядками. Якщо вам необхідно замінювати підрядки, в більшості випадків вам краще скористатись {{jsxref("String.prototype.replace()")}}.</p> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.substring', 'String.prototype.substring')}}</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.substring")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.substr()")}}</li> - <li>{{jsxref("String.prototype.slice()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/sup/index.html b/files/uk/web/javascript/reference/global_objects/string/sup/index.html deleted file mode 100644 index 5fcc97cdee..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/sup/index.html +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: String.prototype.sup() -slug: Web/JavaScript/Reference/Global_Objects/String/sup -tags: - - JavaScript - - String - - метод - - не рекомендований - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/sup ---- -<div>{{JSRef}} {{deprecated_header}}</div> - -<p>Метод <strong><code>sup()</code></strong> створює HTML-елемент <a href="/uk/docs/Web/HTML/Element/sup" title="HTML-елемент верхнього індексу (<sup>) вказує вбудований текст, який необхідно відобразити верхнім індексом суто для друкарського використання."><code><sup></code></a>, який відображає рядок у вигляді верхнього індексу.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.sup()</code></pre> - -<h3 id="Значення_що_повертається">Значення, що повертається</h3> - -<p>Рядок, що містить HTML-елемент <a href="/uk/docs/Web/HTML/Element/sup" title="HTML-елемент верхнього індексу (<sup>) вказує вбудований текст, який необхідно відобразити верхнім індексом суто для друкарського використання."><code><sup></code></a>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>sup()</code> вбудовує рядок у тег <code><sup></code>: <code>"<sup>str</sup>"</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_методів_sub_та_sup">Використання методів <code>sub()</code> та <code>sup()</code></h3> - -<p>Наступний приклад використовує методи {{jsxref("String.prototype.sub()", "sub()")}} та <code>sup()</code> для форматування рядка:</p> - -<pre class="brush: js">var superText = 'верхній індекс'; -var subText = 'нижній індекс'; - -console.log('Так виглядає ' + superText.sup() + '.'); -// Так виглядає <sup>верхній індекс</sup>. - -console.log('Так виглядає ' + subText.sub() + '.'); -// Так виглядає <sub>нижній індекс</sub>.</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.sup', 'String.prototype.sup')}}</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.sup")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.sub()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/tolocalelowercase/index.html b/files/uk/web/javascript/reference/global_objects/string/tolocalelowercase/index.html deleted file mode 100644 index 2e595bc9a0..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/tolocalelowercase/index.html +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: String.prototype.toLocaleLowerCase() -slug: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase -tags: - - Internationalization - - JavaScript - - Method - - Prototype - - String - - Довідка - - Уміжнароднення -translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase ---- -<div>{{JSRef}}</div> - -<p>Метод <code><strong>toLocaleLowerCase()</strong></code> повертає той самий рядок, але з літерами переведеними до нижнього регістра відповідно до правил певної мови (місцевості).</p> - -<p>{{EmbedInteractiveExample("pages/js/string-tolocalelowercase.html")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.toLocaleLowerCase() -<var>str</var>.toLocaleLowerCase(locale) -<var>str</var>.toLocaleLowerCase([locale, locale, ...]) -</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>locale</code> {{optional_inline}}</dt> - <dd>Цей параметр вказує мовний код (або перелік мовних кодів), відповідно до якого має здійснюватися перетворення регістра. Якщо вказано кілька мовних кодів (передано масив рядків), обирається <a href="https://tc39.github.io/ecma402/#sec-bestavailablelocale">найліпший з наявних</a>. Якщо параметр не вказано, буде використано системне значення (з налаштувань оточення).</dd> -</dl> - -<h3 id="Вертає">Вертає</h3> - -<p>Новий рядок із тим самим вмістом, але літерами переведеними до нижнього регістра відповідно до правил певної мови (місцевості).</p> - -<h3 id="Винятки">Винятки</h3> - -<ul> - <li>Викидає виняток <code>{{jsxref("RangeError")}}</code> ("Invalid language tag: xx_yy"), якщо параметр <code>locale</code> не є належним мовним кодом (кодом місцевості).</li> - <li>Викидає виняток <code>{{jsxref("TypeError")}}</code> ("Language ID should be string or object."), якщо елемент масиву <code>locale</code> не є рядком.</li> -</ul> - -<h2 id="Опис">Опис</h2> - -<p>Всі великі літери перетворюються на малі відповідно до правил певної мови (місцевості), а все решта лишається без змін. Позаяк клас <code>{{jsxref("String")}}</code> належить до незмінних типів даних, виклик <code>toLocaleLowerCase()</code> створює новий рядок, лишаючи оригінал без змін.</p> - -<p>Зазвичай метод <code>toLocaleLowerCase()</code> вертає той самий результат, що й <code>{{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}</code>. Втім для деяких мов, як-от турецька, правила перетворення регістра дещо відрізняються від того, що передбачено у Unicode, тож результат буде іншим.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_toLocaleLowerCase">Використання <code>toLocaleLowerCase()</code></h3> - -<p>Якщо мовний код не зазначено, використовується поточне системне значення:</p> - -<pre class="brush: js">// виводить 'абетка' -console.log('Абетка'.toLocaleLowerCase()); -</pre> - -<p>Можна вказати лише один код чи декілька одночасно:</p> - -<pre class="brush: js">// виводить true -console.log('\u0130'.toLocaleLowerCase('tr') === 'i'); -// виводить fales -console.log('\u0130'.toLocaleLowerCase('en-US') === 'i'); - -let locales = ['tr', 'TR', 'tr-TR', 'tr-u-co-search', 'tr-x-turkish']; - -// виводить true -console.log('\u0130'.toLocaleLowerCase(locales) === 'i'); -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.tolocalelowercase', 'String.prototype.toLocaleLowerCase')}}</td> - </tr> - <tr> - <td>{{SpecName('ES Int Draft', '#sup-string.prototype.tolocalelowercase', 'String.prototype.toLocaleLowerCase')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.toLocaleLowerCase")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.toLocaleUpperCase()")}}</li> - <li>{{jsxref("String.prototype.toLowerCase()")}}</li> - <li>{{jsxref("String.prototype.toUpperCase()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html b/files/uk/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html deleted file mode 100644 index d8d2346ec8..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html +++ /dev/null @@ -1,107 +0,0 @@ ---- -title: String.prototype.toLocaleUpperCase() -slug: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase -tags: - - Internationalization - - JavaScript - - Method - - Prototype - - String - - Довідка - - Уміжнароднення -translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase ---- -<div>{{JSRef}}</div> - -<p>Метод <code><strong>toLocaleUpperCase()</strong></code> повертає той самий рядок, але з літерами переведеними до верхнього регістра відповідно до правил певної мови (місцевості).</p> - -<p>{{EmbedInteractiveExample("pages/js/string-tolocaleuppercase.html")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.toLocaleUpperCase() -<var>str</var>.toLocaleUpperCase(locale) -<var>str</var>.toLocaleUpperCase([locale, locale, ...]) -</pre> - -<h3 id="Параметри">Параметри</h3> - -<dl> - <dt><code>locale</code> {{optional_inline}}</dt> - <dd>Цей параметр вказує мовний код (або перелік мовних кодів), відповідно до якого має здійснюватися перетворення регістра. Якщо вказано кілька мовних кодів (передано масив рядків), обирається <a href="https://tc39.github.io/ecma402/#sec-bestavailablelocale">найліпший з наявних</a>. Якщо параметр не вказано, буде використано системне значення (з налаштувань оточення).</dd> -</dl> - -<h3 id="Вертає">Вертає</h3> - -<p>Новий рядок із тим самим вмістом, але літерами переведеними до верхнього регістра відповідно до правил певної мови (місцевості).</p> - -<h3 id="Винятки">Винятки</h3> - -<ul> - <li>Викидає виняток <code>{{jsxref("RangeError")}}</code> ("Invalid language tag: xx_yy"), якщо параметр <code>locale</code> не є належним мовним кодом (кодом місцевості).</li> - <li>Викидає виняток <code>{{jsxref("TypeError")}}</code> ("Language ID should be string or object."), якщо елемент масиву <code>locale</code> не є рядком.</li> -</ul> - -<h2 id="Опис">Опис</h2> - -<p>Всі малі літери перетворюються на великі відповідно до правил певної мови (місцевості), а все решта лишається без змін. Позаяк клас <code>{{jsxref("String")}}</code> належить до незмінних типів даних, виклик <code>toLocaleUpperCase()</code> створює новий рядок, лишаючи оригінал без змін. </p> - -<p>Зазвичай метод <code>toLocaleUpperCase()</code> вертає той самий результат, що й <code>{{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}</code>. Втім для деяких мов, як-от турецька, правила перетворення регістра дещо відрізняються від того, що передбачено у Unicode, тож результат буде іншим.</p> - -<p>Також зауважте, що перетворення не обов'язково є перетворенням символів 1:1, оскільки деякі символи можуть перетворитись на два (або навіть більше) символів при переведенні у верхній регістр. Таким чином, довжина отриманого рядка може відрізнятись від довжини вхідного рядка. Це також означає, що перетворення не є стабільним, а отже, наприклад, наступне може повернути <code>false</code>:<br> - <code>x.toLocaleLowerCase() === x.toLocaleUpperCase().toLocaleLowerCase()</code></p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_toLocaleUpperCase">Використання <code>toLocaleUpperCase()</code></h3> - -<p>Якщо мовний код не зазначено, використовується поточне системне значення:</p> - -<pre class="brush: js">// виводить 'АБЕТКА' -console.log('Абетка'.toLocaleUpperCase()); -</pre> - -<p>Можна вказати лише один код чи декілька одночасно:</p> - -<pre class="brush: js">// виводить 'I' -console.log('i\u0307'.toLocaleUpperCase('lt-LT')); - -let locales = ['lt', 'LT', 'lt-LT', 'lt-u-co-phonebk', 'lt-x-lietuva']; - -// виводить 'I' -console.log('i\u0307'.toLocaleUpperCase(locales)); -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.tolocaleuppercase', 'String.prototype.toLocaleUpperCase')}}</td> - </tr> - <tr> - <td>{{SpecName('ES Int Draft', '#sup-string.prototype.tolocaleuppercase', 'String.prototype.toLocaleUpperCase')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.toLocaleUpperCase")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.toLocaleLowerCase()")}}</li> - <li>{{jsxref("String.prototype.toLowerCase()")}}</li> - <li>{{jsxref("String.prototype.toUpperCase()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/tolowercase/index.html b/files/uk/web/javascript/reference/global_objects/string/tolowercase/index.html deleted file mode 100644 index ba6068d86a..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/tolowercase/index.html +++ /dev/null @@ -1,74 +0,0 @@ ---- -title: String.prototype.toLowerCase() -slug: Web/JavaScript/Reference/Global_Objects/String/toLowerCase -tags: - - JavaScript - - Method - - Prototype - - String - - Довідка -translation_of: Web/JavaScript/Reference/Global_Objects/String/toLowerCase ---- -<div>{{JSRef}}</div> - -<p>Метод <code><strong>toLowerCase()</strong></code> повертає той самий рядок, але з літерами переведеними до нижнього регістра.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-tolowercase.html","shorter")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.toLowerCase()</code></pre> - -<h3 id="Вертає">Вертає</h3> - -<p>Новий рядок із тим самим вмістом, але літерами переведеними до нижнього регістра.</p> - -<h2 id="Опис">Опис</h2> - -<p>Всі великі літери перетворюються на малі, а все решта лишається без змін. Позаяк клас <code>{{jsxref("String")}}</code> належить до незмінних типів даних, виклик <code>toLowerCase()</code> створює новий рядок, лишаючи оригінал без змін.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_toLowerCase">Використання <code>toLowerCase()</code></h3> - -<p>Кожна велика літера замінюється малою, а решта лишається без змін:</p> - -<pre class="brush: js">// виводить 'абетка' -console.log('Абетка'.toLowerCase()); -</pre> - -<p>Якщо рядок не містить жодної великої літери, то жодних змін не відбувається:</p> - -<pre class="brush: js">// виводить 'дідькова гра' -console.log('дідькова гра'.toLowerCase());</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.tolowercase', 'String.prototype.toLowerCase')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.toLowerCase")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.toLocaleLowerCase()")}}</li> - <li>{{jsxref("String.prototype.toLocaleUpperCase()")}}</li> - <li>{{jsxref("String.prototype.toUpperCase()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/tosource/index.html b/files/uk/web/javascript/reference/global_objects/string/tosource/index.html deleted file mode 100644 index 22d5a2e49e..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/tosource/index.html +++ /dev/null @@ -1,56 +0,0 @@ ---- -title: String.prototype.toSource() -slug: Web/JavaScript/Reference/Global_Objects/String/toSource -tags: - - JavaScript - - String - - Довідка - - метод - - нестандартний - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/toSource ---- -<div>{{JSRef}} {{obsolete_header}}</div> - -<p>Метод <strong><code>toSource()</code></strong> вертає рядкове представлення першокоду об'єкта.</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code>String.toSource() -<var>str</var>.toSource() -</code></pre> - -<h3 id="Значення_що_вертається">Значення, що вертається</h3> - -<p>Рядкове представлення першокоду об'єкта, який викликав метод.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>toSource()</code> вертає наступні значення:</p> - -<p>Для вбудованого об'єкта {{jsxref("String")}} <code>toSource()</code> вертає наступний рядок, який вказує, що першокод недоступний:</p> - -<pre class="brush: js">function String() { - [native code] -} -</pre> - -<p>Для екземплярів {{jsxref("String")}} або рядкових літералів <code>toSource()</code> вертає рядок, що відображає першокод.</p> - -<p>Цей метод зазвичай JavaScript викликає внутрішньо, а не явно у коді.</p> - -<h2 id="Специфікації">Специфікації</h2> - -<p>Не є частиною жодного стандарту. Реалізований у JavaScript 1.3.</p> - -<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.toSource")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Object.prototype.toSource()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/tostring/index.html b/files/uk/web/javascript/reference/global_objects/string/tostring/index.html deleted file mode 100644 index 927d694e18..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/tostring/index.html +++ /dev/null @@ -1,65 +0,0 @@ ---- -title: String.prototype.toString() -slug: Web/JavaScript/Reference/Global_Objects/String/toString -tags: - - JavaScript - - Method - - Prototype - - String - - Довідка -translation_of: Web/JavaScript/Reference/Global_Objects/String/toString ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>toString()</code></strong> повертає рядкове представлення вказаного об'єкта.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-tostring.html")}}</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.toString()</code></pre> - -<h3 id="Вертає">Вертає</h3> - -<p>Рядкове представлення об'єкта, який викликав метод.</p> - -<h2 id="Опис">Опис</h2> - -<p>Клас <code>{{jsxref("String")}}</code> має власну реалізацію метода <code>toString()</code>, а не успадковану <code>{{jsxref("Object.prototype.toString()")}}</code>. Для об'єктів класу <code>{{jsxref("String")}}</code>, цей метод повертає значення, що має рядковий тип даних, для якого клас <code>{{jsxref("String")}}</code> є обгорткою. Тобто те саме, що вертає метод <code>{{jsxref("String.prototype.valueOf()", "valueOf()")}}</code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_toString">Використання <code>toString()</code></h3> - -<p>Наступний приклад виводить до консолі рядкове значення об'єкта <code>{{jsxref("String")}}</code>:</p> - -<pre class="brush: js">var x = new String('Hello world'); - -console.log(x.toString()); // виводить 'Hello world' -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Specification</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.tostring', 'String.prototype.toString')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.toString")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("Object.prototype.toSource()")}}</li> - <li>{{jsxref("String.prototype.valueOf()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/touppercase/index.html b/files/uk/web/javascript/reference/global_objects/string/touppercase/index.html deleted file mode 100644 index 8b766dc42d..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/touppercase/index.html +++ /dev/null @@ -1,88 +0,0 @@ ---- -title: String.prototype.toUpperCase() -slug: Web/JavaScript/Reference/Global_Objects/String/toUpperCase -tags: - - JavaScript - - Method - - Prototype - - String - - Довідка -translation_of: Web/JavaScript/Reference/Global_Objects/String/toUpperCase ---- -<div>{{JSRef}}</div> - -<p>Метод <code><strong>toUpperCase()</strong></code> повертає той самий рядок, але з літерами переведеними до верхнього регістра (значення буде перетворене на рядок, якщо воно не є рядком).</p> - -<p>{{EmbedInteractiveExample("pages/js/string-touppercase.html","shorter")}}</p> - -<div class="hidden"> -<p>The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> and send us a pull request.</p> -</div> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.toUpperCase()</code></pre> - -<h3 id="Вертає">Вертає</h3> - -<p>Новий рядок із тим самим вмістом, але літерами переведеними до верхнього регістра.</p> - -<h3 id="Винятки">Винятки</h3> - -<dl> - <dt>{{jsxref("TypeError")}}</dt> - <dd>Якщо викликається для {{jsxref("null")}} або {{jsxref("undefined")}}, наприклад, <code>String.prototype.toUpperCase.call(undefined)</code>.</dd> -</dl> - -<h2 id="Опис">Опис</h2> - -<p>Всі малі літери перетворюються на великі, а все решта лишається без змін. Позаяк клас <code>{{jsxref("String")}}</code> належить до незмінних типів даних, виклик <code>toUpperCase()</code> створює новий рядок, лишаючи оригінал без змін.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Базове_використання">Базове використання</h3> - -<pre class="brush: js">console.log('Абетка'.toUpperCase()); // 'АБЕТКА' -</pre> - -<h3 id="Перетворення_нерядкових_значень_this_на_рядки">Перетворення нерядкових значень <code>this</code> на рядки</h3> - -<p>Цей метод перетворить будь-яке нерядкове значення на рядок, коли ви присвоюєте його <code>this</code> значення, що не є рядком:</p> - -<pre class="brush: js">const a = String.prototype.toUpperCase.call({ - toString: function toString() { - return 'абвгґд'; - } -}); - -const b = String.prototype.toUpperCase.call(true); - -// виводить 'АБВГҐД TRUE'. -console.log(a, b);</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.touppercase', 'String.prototype.toUpperCase')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.toUpperCase")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.toLocaleLowerCase()")}}</li> - <li>{{jsxref("String.prototype.toLocaleUpperCase()")}}</li> - <li>{{jsxref("String.prototype.toLowerCase()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/trim/index.html b/files/uk/web/javascript/reference/global_objects/string/trim/index.html deleted file mode 100644 index 2f31660a29..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/trim/index.html +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: String.prototype.trim() -slug: Web/JavaScript/Reference/Global_Objects/String/Trim -tags: - - ECMAScript 5 - - JavaScript - - String - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/Trim ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>trim()</code></strong> прибирає пробіли з обох кінців рядка. Пробілами в даному контексті є усі пробільні символи (пробіл, табуляція, нерозривний пробіл та ін.) та усі символи закінчення рядка (LF, CR, та ін.).</p> - -<div>{{EmbedInteractiveExample("pages/js/string-trim.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.trim()</code></pre> - -<h3 id="Значення_що_вертається">Значення, що вертається</h3> - -<p>Новий рядок, що є рядком <code><var>str</var></code> без пробілів з обох кінців.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>trim()</code> повертає рядок з прибраними пробілами з обох кінців. <code>trim()</code> не змінює значення самого рядка <code><var>str</var></code>.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_trim">Використання <code>trim()</code></h3> - -<p>Наступний приклад виводить рядок з малих літер <code>'ква'</code>:</p> - -<pre class="brush: js">var orig = ' ква '; -console.log(orig.trim()); // 'ква' - -// Ще приклад, коли .trim() прибирає пробіли лише з одного боку. - -var orig = 'ква '; -console.log(orig.trim()); // 'ква' -</pre> - -<h2 id="Поліфіл">Поліфіл</h2> - -<p>Виконання наступного коду перед будь-яким іншим кодом створить метод <code>trim()</code>, якщо він недоступний початково.</p> - -<pre class="brush: js">if (!String.prototype.trim) { - String.prototype.trim = function () { - return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''); - }; -} -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.trim', 'String.prototype.trim')}}</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.trim")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.trimStart()")}}</li> - <li>{{jsxref("String.prototype.trimEnd()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/trimend/index.html b/files/uk/web/javascript/reference/global_objects/string/trimend/index.html deleted file mode 100644 index 2344e2e7bb..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/trimend/index.html +++ /dev/null @@ -1,80 +0,0 @@ ---- -title: String.prototype.trimEnd() -slug: Web/JavaScript/Reference/Global_Objects/String/trimEnd -tags: - - JavaScript - - String - - Довідка - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/trimEnd ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>trimEnd()</code></strong> прибирає пробіли з кінця рядка. <code>trimRight()</code> є псевдонімом цього методу.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-trimend.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.trimEnd(); -<var>str</var>.trimRight();</code></pre> - -<h3 id="Значення_що_вертається">Значення, що вертається</h3> - -<p>Новий рядок, який відображає початковий рядок без пробілів з (правого) кінця.</p> - -<h2 id="Опис">Опис</h2> - -<p>Методи <code>trimEnd()</code> / <code>trimRight()</code> повертають рядок з прибраними пробілами з правого кінця. <code>trimEnd()</code> чи <code>trimRight()</code> не змінюють значення самого рядка.</p> - -<h3 id="Псевдонім">Псевдонім</h3> - -<p>Для сумісності з такими функціями як {{jsxref("String.prototype.padEnd")}}, стандартним ім'ям методу є <code>trimEnd</code>. Однак, з причин веб-сумісності <code>trimRight</code> залишається в якості псевдоніму <code>trimEnd</code>. В деяких рушіях це означає:</p> - -<pre class="brush: js">String.prototype.trimRight.name === "trimEnd";</pre> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_trimEnd">Використання <code>trimEnd()</code></h3> - -<p>Наступний приклад виводить рядок з малих літер <code>' ква'</code>:</p> - -<pre class="brush: js; highlight: [5]">var str = ' ква '; - -console.log(str.length); // 8 - -str = str.trimEnd(); -console.log(str.length); // 6 -console.log(str); // ' ква' -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.trimend', 'String.prototype.trimEnd')}}</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.trimEnd")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.trim()")}}</li> - <li>{{jsxref("String.prototype.trimStart()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/trimstart/index.html b/files/uk/web/javascript/reference/global_objects/string/trimstart/index.html deleted file mode 100644 index 03a3dc0ffc..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/trimstart/index.html +++ /dev/null @@ -1,115 +0,0 @@ ---- -title: String.prototype.trimStart() -slug: Web/JavaScript/Reference/Global_Objects/String/trimStart -tags: - - JavaScript - - String - - метод - - рядок -translation_of: Web/JavaScript/Reference/Global_Objects/String/trimStart ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>trimStart()</code></strong> видаляє пробіли з початку рядка. <code>trimLeft()</code> є псевдонімом цього методу.</p> - -<div>{{EmbedInteractiveExample("pages/js/string-trimstart.html")}}</div> - - - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><var>str</var>.trimStart(); -<var>str</var>.trimLeft();</pre> - -<h3 id="Значення_що_вертається">Значення, що вертається</h3> - -<p>Новий рядок, який відображає початковий рядок без пробілів на початку (з лівого кінця).</p> - -<h2 id="Опис">Опис</h2> - -<p>Методи <code>trimStart()</code> / <code>trimLeft()</code> повертають рядок з прибраними пробілами з лівого кінця. <code>trimLeft()</code> чи <code>trimStart()</code> не змінюють значення самого рядка.</p> - -<h3 id="Псевдонім">Псевдонім</h3> - -<p>Для сумісності з такими функціями, як {{jsxref("String.prototype.padStart")}}, стандартним ім'ям методу є <code>trimStart</code>. Однак, з причин веб-сумісності <code>trimLeft</code> залишається в якості псевдоніму <code>trimStart</code>. В деяких рушіях це означає:</p> - -<pre class="brush: js">String.prototype.trimLeft.name === "trimStart";</pre> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_trimStart">Використання <code>trimStart()</code></h3> - -<p>Наступний приклад виводить рядок з малих літер <code>'ква '</code>:</p> - -<pre class="brush: js; highlight: [5]">var str = ' ква '; - -console.log(str.length); // 8 - -str = str.trimStart(); -console.log(str.length); // 5 -console.log(str); // 'ква ' -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Специфікація</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.trimstart', ' String.prototype.trimStart')}}</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.trimStart")}}</p> - -<h2 id="Поліфіл">Поліфіл</h2> - -<pre class="brush: js; highlight: [5]">//https://github.com/FabioVergani/js-Polyfill_String-trimStart - -(function(w){ - var String=w.String, Proto=String.prototype; - - (function(o,p){ - if(p in o?o[p]?false:true:true){ - var r=/^\s+/; - o[p]=o.trimLeft||function(){ - return this.replace(r,'') - } - } - })(Proto,'trimStart'); - -})(window); - - -/* -ES6: -(w=>{ - const String=w.String, Proto=String.prototype; - - ((o,p)=>{ - if(p in o?o[p]?false:true:true){ - const r=/^\s+/; - o[p]=o.trimLeft||function(){ - return this.replace(r,'') - } - } - })(Proto,'trimStart'); - -})(window); -*/</pre> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.trim()")}}</li> - <li>{{jsxref("String.prototype.trimEnd()")}}</li> -</ul> diff --git a/files/uk/web/javascript/reference/global_objects/string/valueof/index.html b/files/uk/web/javascript/reference/global_objects/string/valueof/index.html deleted file mode 100644 index a4956328d0..0000000000 --- a/files/uk/web/javascript/reference/global_objects/string/valueof/index.html +++ /dev/null @@ -1,64 +0,0 @@ ---- -title: String.prototype.valueOf() -slug: Web/JavaScript/Reference/Global_Objects/String/valueOf -tags: - - JavaScript - - Method - - Prototype - - String - - Довідка -translation_of: Web/JavaScript/Reference/Global_Objects/String/valueOf ---- -<div>{{JSRef}}</div> - -<p>Метод <strong><code>valueOf()</code></strong> повертає {{glossary("Primitive", "просту величину")}}, що є значенням об'єкта <code>{{jsxref("String")}}</code>.</p> - -<p>{{EmbedInteractiveExample("pages/js/string-valueof.html")}}</p> - -<h2 id="Синтаксис">Синтаксис</h2> - -<pre class="syntaxbox"><code><var>str</var>.valueOf()</code></pre> - -<h3 id="Вертає">Вертає</h3> - -<p>Рядок (величину, яка належить до простого типу даних {{jsxref("string")}}), що є значенням цього об'єкта <code>{{jsxref("String")}}</code>.</p> - -<h2 id="Опис">Опис</h2> - -<p>Метод <code>valueOf()</code> класу <code>{{jsxref("String")}}</code> повертає значення, що має рядковий тип даних, для якого клас <code>{{jsxref("String")}}</code> є обгорткою. Це значення тотожне до <code>{{jsxref("String.prototype.toString()")}}</code>.</p> - -<p>Цей метод зазвичай викликається всередині рушія JavaScript, а не в явний спосіб у коді.</p> - -<h2 id="Приклади">Приклади</h2> - -<h3 id="Використання_valueOf">Використання <code>valueOf()</code></h3> - -<pre class="brush: js">var str = new String('Hello, world'); -console.log(str.valueOf()); // виводить 'Hello, world' -</pre> - -<h2 id="Специфікації">Специфікації</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Специфікація</th> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-string.prototype.valueof', 'String.prototype.valueOf')}}</td> - </tr> - </tbody> -</table> - -<h2 id="Підтримка_веб-переглядачами">Підтримка веб-переглядачами</h2> - -<p class="hidden">Таблиця сумісності на цій сторінці створена зі структурованих даних. Якщо ви хочете долучитися до розробки цих даних, пропонуйте нам свої pull request до репозиторію <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p> - -<p>{{Compat("javascript.builtins.String.valueOf")}}</p> - -<h2 id="Див._також">Див. також</h2> - -<ul> - <li>{{jsxref("String.prototype.toString()")}}</li> - <li>{{jsxref("Object.prototype.valueOf()")}}</li> -</ul> |