aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/global_objects/string
diff options
context:
space:
mode:
Diffstat (limited to 'files/ru/web/javascript/reference/global_objects/string')
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html131
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/anchor/index.html131
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/big/index.html112
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/blink/index.html117
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/bold/index.html114
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/charat/index.html270
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html205
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/codepointat/index.html174
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/concat/index.html121
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/endswith/index.html145
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/fixed/index.html108
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html119
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/fontsize/index.html118
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html138
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html213
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/includes/index.html127
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/index.html301
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/indexof/index.html194
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/italics/index.html114
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/lastindexof/index.html155
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/length/index.html116
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/link/index.html131
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/localecompare/index.html196
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/match/index.html177
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/matchall/index.html120
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/normalize/index.html174
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/padend/index.html94
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/padstart/index.html92
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/prototype/index.html229
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/quote/index.html124
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/raw/index.html153
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/repeat/index.html124
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/replace/index.html289
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/replaceall/index.html167
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/search/index.html149
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/slice/index.html173
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/small/index.html109
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/split/index.html229
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/startswith/index.html81
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/strike/index.html114
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/sub/index.html109
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/substr/index.html116
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/substring/index.html194
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/sup/index.html109
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html110
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html110
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/tolowercase/index.html109
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/tosource/index.html91
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/tostring/index.html111
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/touppercase/index.html109
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/trim/index.html135
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/trimleft/index.html93
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/trimright/index.html93
-rw-r--r--files/ru/web/javascript/reference/global_objects/string/valueof/index.html120
54 files changed, 7757 insertions, 0 deletions
diff --git a/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html b/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html
new file mode 100644
index 0000000000..a493783be3
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/@@iterator/index.html
@@ -0,0 +1,131 @@
+---
+title: 'String.prototype[@@iterator]()'
+slug: Web/JavaScript/Reference/Global_Objects/String/@@iterator
+tags:
+ - ECMAScript6
+ - Experimental
+ - Expérimental(2)
+ - Iterator
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/@@iterator
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>[@@iterator]()</code></strong> возвращает новый объект итератора <code>Iterator</code>, который проходит по кодовым точкам строкового значения, возвращая каждую кодовую точку в виде строкового значения.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><var>string</var>[Symbol.iterator]</code></pre>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_.5B.40.40iterator.5D" name="Example:_Using_.5B.40.40iterator.5D()">Пример: использование метода <code>[@@iterator]()</code></h3>
+
+<pre class="brush:js notranslate">var string = 'A\uD835\uDC68';
+
+var strIter = string[Symbol.iterator]();
+
+console.log(strIter.next().value); // "A"
+console.log(strIter.next().value); // "\uD835\uDC68"
+</pre>
+
+<h3 id="Example_Using_.5B.40.40iterator.5D_with_for..of" name="Example:_Using_.5B.40.40iterator.5D()_with_for..of">Пример: использование метода <code>[@@iterator]()</code> вместе с циклом <code>for..of</code></h3>
+
+<pre class="brush:js notranslate">var string = 'A\uD835\uDC68B\uD835\uDC69C\uD835\uDC6A';
+
+for (var v of string) {
+ console.log(v);
+}
+// "A"
+// "\uD835\uDC68"
+// "B"
+// "\uD835\uDC69"
+// "C"
+// "\uD835\uDC6A"
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype-@@iterator', 'String.prototype[@@iterator]()')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("17")}} (<code>.iterator</code>)<br>
+ {{CompatGeckoDesktop("27")}} (<code>["@@iterator"]</code>)<br>
+ {{CompatGeckoDesktop("36")}} (<code>[Symbol.iterator]</code>)</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("17")}} (<code>.iterator</code>)<br>
+ {{CompatGeckoMobile("27")}} (<code>["@@iterator"]</code>)<br>
+ {{CompatGeckoMobile("36")}} (<code>[Symbol.iterator]</code>)</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h3 id="Gecko-specific_notes" name="Gecko-specific_notes">Примечания по Gecko</h3>
+
+<ul>
+ <li>С Gecko 17 {{geckoRelease("17")}} по Gecko 26 {{geckoRelease("26")}} вместо {{jsxref("Global_Objects/Symbol", "символа", "", 1)}} <code>@@iterator</code> использовалось свойство <code>iterator</code> ({{bug(907077)}}), а с Gecko 27 {{geckoRelease("27")}} по Gecko 35 {{geckoRelease("35")}} — строка-заменитель <code>"@@iterator"</code> ({{bug("918828")}}).</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/anchor/index.html b/files/ru/web/javascript/reference/global_objects/string/anchor/index.html
new file mode 100644
index 0000000000..43b5161a75
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/anchor/index.html
@@ -0,0 +1,131 @@
+---
+title: String.prototype.anchor()
+slug: Web/JavaScript/Reference/Global_Objects/String/anchor
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/anchor
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>anchor()</code></strong> создаёт якорный HTML-элемент {{HTMLElement("a")}}, используемый в качестве цели гиперссылки.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.anchor(<var>name</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>name</code></dt>
+ <dd>Строка, представляющая атрибут <code>name</code> создаваемого тега.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>anchor()</code> используется для программного создания и отображения якоря в документе.</p>
+
+<p>Текстовая строка представляет из себя буквальный текст, который ва хотите показать пользователю. Строковый параметр <code>name</code> представляет атрибут <code>name</code> элемента {{HTMLElement("a")}}.</p>
+
+<p>Якоря, созданные методом <code>anchor()</code>, становятся элементами в массиве {{domxref("document.anchors")}}.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_anchor" name="Example:_Using_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">&lt;a name="contents_anchor"&gt;Оглавление&lt;/a&gt;
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.anchor', 'String.prototype.anchor')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h3 id="Gecko-specific_notes" name="Gecko-specific_notes">Примечания по Gecko</h3>
+
+<p>Начиная с версии {{gecko("17")}}, символ <code>"</code> (кавычка) в строках, передаваемых в качестве параметра <code>name</code>, заменяется его HTML-мнемоникой <code>&amp;quot;</code>.</p>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.link()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/big/index.html b/files/ru/web/javascript/reference/global_objects/string/big/index.html
new file mode 100644
index 0000000000..b0172de18a
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/big/index.html
@@ -0,0 +1,112 @@
+---
+title: String.prototype.big()
+slug: Web/JavaScript/Reference/Global_Objects/String/big
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/big
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>big()</code></strong> создаёт HTML-элемент {{HTMLElement("big")}}, заставляющий строку отображаться большим шрифтом.</p>
+<div class="note">
+ <p><strong>Примечание по использованию:</strong> элемент &lt;big&gt; был удалён из <a href="/ru/docs/Web/Guide/HTML/HTML5">HTML5</a> и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства <a href="/ru/docs/Web/CSS">CSS</a>.</p>
+</div>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.big()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>big()</code> заключает строку в тег <code>&lt;big&gt;</code>: <code>"&lt;big&gt;str&lt;/big&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_big" name="Example:_Using_big">Пример: использование метода <code>big()</code></h3>
+<p>В следующем примере демонстрируется использование нескольких строковых методов для изменения размера строки:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+console.log(worldString.small()); // &lt;small&gt;Привет, мир&lt;/small&gt;
+console.log(worldString.big()); // &lt;big&gt;Привет, мир&lt;/big&gt;
+console.log(worldString.fontsize(7)); // &lt;fontsize=7&gt;Привет, мир&lt;/fontsize&gt;
+</pre>
+<p>При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута <code>style</code> элемента и управлять им более обобщённым способом, например:</p>
+<pre class="brush: js">document.getElementById('yourElemId').style.fontSize = '2em';
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.big', 'String.prototype.big')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.fontsize()")}}</li>
+ <li>{{jsxref("String.prototype.small()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/blink/index.html b/files/ru/web/javascript/reference/global_objects/string/blink/index.html
new file mode 100644
index 0000000000..4cb5218f7f
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/blink/index.html
@@ -0,0 +1,117 @@
+---
+title: String.prototype.blink()
+slug: Web/JavaScript/Reference/Global_Objects/String/blink
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/blink
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>blink()</code></strong> создаёт HTML-элемент {{HTMLElement("blink")}}, заставляющий строку мерцать.</p>
+<div class="warning">
+ <p><strong>Предупреждение:</strong> мерцающий текст осуждается некоторыми стандартами доступности. Сам элемент <code>&lt;blink&gt;</code> является нестандартным и устаревшим!</p>
+</div>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.blink()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>blink()</code> заключает строку в тег <code>&lt;blink&gt;</code>: <code>"&lt;blink&gt;str&lt;/blink&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_blink" name="Example:_Using_blink">Пример: использование метода <code>blink()</code></h3>
+<p>В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+</pre>
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+<pre class="brush: html">&lt;blink&gt;Привет, мир&lt;/blink&gt;
+&lt;b&gt;Привет, мир&lt;/b&gt;
+&lt;i&gt;Привет, мир&lt;/i&gt;
+&lt;strike&gt;Привет, мир&lt;/strike&gt;
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.blink', 'String.prototype.blink')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/bold/index.html b/files/ru/web/javascript/reference/global_objects/string/bold/index.html
new file mode 100644
index 0000000000..255ff7623c
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/bold/index.html
@@ -0,0 +1,114 @@
+---
+title: String.prototype.bold()
+slug: Web/JavaScript/Reference/Global_Objects/String/bold
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/bold
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>bold()</code></strong> создаёт HTML-элемент {{HTMLElement("b")}}, заставляющий строку отображаться полужирным шрифтом.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.bold()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>bold()</code> заключает строку в тег <code>&lt;b&gt;</code>: <code>"&lt;b&gt;str&lt;/b&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_bold" name="Example:_Using_bold">Пример: использование метода <code>bold()</code></h3>
+<p>В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+</pre>
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+<pre class="brush: html">&lt;blink&gt;Привет, мир&lt;/blink&gt;
+&lt;b&gt;Привет, мир&lt;/b&gt;
+&lt;i&gt;Привет, мир&lt;/i&gt;
+&lt;strike&gt;Привет, мир&lt;/strike&gt;
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.bold', 'String.prototype.bold')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/charat/index.html b/files/ru/web/javascript/reference/global_objects/string/charat/index.html
new file mode 100644
index 0000000000..c86dae26aa
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/charat/index.html
@@ -0,0 +1,270 @@
+---
+title: String.prototype.charAt()
+slug: Web/JavaScript/Reference/Global_Objects/String/charAt
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/charAt
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>charAt()</code></strong> возвращает указанный символ из строки.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.charAt(<var>index</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+<dl>
+ <dt><code>index</code></dt>
+ <dd>Целое число от 0 до длины строки минус 1.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке <code>stringName</code> равен <code>stringName.length - 1</code>. Если предоставленный вами параметр <code>index</code> выходит за пределы этого диапазона, JavaScript вернёт пустую строку.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Displaying_characters_at_different_locations_in_a_string" name="Example:_Displaying_characters_at_different_locations_in_a_string">Пример: отображение символов из различных позиций строки</h3>
+<p>Следующий пример показывает символы в различных позициях в строке <code>"Дивный новый мир"</code>:</p>
+<pre class="brush: js">var anyString = 'Дивный новый мир';
+
+console.log("Символ по индексу 0 равен '" + anyString.charAt(0) + "'");
+console.log("Символ по индексу 1 равен '" + anyString.charAt(1) + "'");
+console.log("Символ по индексу 2 равен '" + anyString.charAt(2) + "'");
+console.log("Символ по индексу 3 равен '" + anyString.charAt(3) + "'");
+console.log("Символ по индексу 4 равен '" + anyString.charAt(4) + "'");
+console.log("Символ по индексу 5 равен '" + anyString.charAt(5) + "'");
+console.log("Символ по индексу 999 равен '" + anyString.charAt(999) + "'");
+</pre>
+<p>Этот код отобразит следующее:</p>
+<pre class="brush: js">Символ по индексу 0 равен 'Д'
+Символ по индексу 1 равен 'и'
+Символ по индексу 2 равен 'в'
+Символ по индексу 3 равен 'н'
+Символ по индексу 4 равен 'ы'
+Символ по индексу 5 равен 'й'
+Символ по индексу 999 равен ''
+</pre>
+
+<h3 id="Example:_Getting_whole_characters" name="Example:_Getting_whole_characters">Пример: получение целых символов</h3>
+<p>Следующий пример показывает, как обойти строку в цикле, каждый раз гарантированно получая целый символ, даже если строка содержит символы, не помещающиеся на Базовую многоязыковую плоскость (БМП).</p>
+<pre class="brush: js">var str = 'A \uD87E\uDC04 Z'; // Также можно использовать не-БМП символы напрямую
+for (var i = 0, chr; i &lt; str.length; i++) {
+ if ((chr = getWholeChar(str, i)) === false) {
+ continue;
+ }
+ // Поместите эти строки в самое начало каждого цикла, передавая в функцию строку
+ // и текущую итерацию; возвращаемая переменная будут представлять
+ // отдельный символ
+
+ console.log(chr);
+}
+
+function getWholeChar(str, i) {
+ var code = str.charCodeAt(i);
+
+ if (isNaN(code)) {
+ return ''; // Позиция не найдена
+ }
+ if (code &lt; 0xD800 || code &gt; 0xDFFF) {
+ return str.charAt(i);
+ }
+
+ // Старшая часть суррогатной пары (последнее число можно изменить на 0xDB7F,
+ // чтобы трактовать старшую часть суррогатной пары в частной плоскости как
+ // одиночный символ)
+ if (0xD800 &lt;= code &amp;&amp; code &lt;= 0xDBFF) {
+ if (str.length &lt;= (i + 1)) {
+ throw 'Старшая часть суррогатной пары без следующей младшей';
+ }
+ var next = str.charCodeAt(i + 1);
+ if (0xDC00 &gt; next || next &gt; 0xDFFF) {
+ throw 'Старшая часть суррогатной пары без следующей младшей';
+ }
+ return str.charAt(i) + str.charAt(i + 1);
+ }
+ // Младшая часть суррогатной пары (0xDC00 &lt;= code &amp;&amp; code &lt;= 0xDFFF)
+ if (i === 0) {
+ throw 'Младшая часть суррогатной пары без предшествующей старшей';
+ }
+ var prev = str.charCodeAt(i - 1);
+
+ // (последнее число можно изменить на 0xDB7F, чтобы трактовать старшую
+ // часть суррогатной пары в частной плоскости как одиночный символ)
+ if (0xD800 &gt; prev || prev &gt; 0xDBFF) {
+ throw 'Младшая часть суррогатной пары без предшествующей старшей';
+ }
+ // Теперь мы можем пропустить младшую часть суррогатной пары,
+ // которую мы уже обработали
+ return false;
+}
+</pre>
+<p>В среде, поддерживающей JavaScript 1.7+ (например, в Firefox), который позволяет деструктуризующее присваивание, можно использовать более лаконичную и более гибкую альтернативу в том смысле, что она автоматически увеличивает счётчик (если символ гарантированно является суррогатной парой).</p>
+<pre class="brush: js">var str = 'A\uD87E\uDC04Z'; // Также можно использовать не-БМП символы напрямую
+for (var i = 0, chr; i &lt; str.length; i++) {
+ [chr, i] = getWholeCharAndI(str, i);
+ // Поместите эту строку в самое начало каждого цикла, передавая в функцию строку
+ // и текущую итерацию; возвращаемый массив будет содержать отдельный символ и
+ // новое значение счётчика цикла 'i' (изменится только при встрече суррогатной пары)
+
+ console.log(chr);
+}
+
+function getWholeCharAndI(str, i) {
+ var code = str.charCodeAt(i);
+
+ if (isNaN(code)) {
+ return ''; // Позиция не найдена
+ }
+ if (code &lt; 0xD800 || code &gt; 0xDFFF) {
+ return [str.charAt(i), i]; // Обычный символ, оставляем переменную 'i' неизменной
+ }
+
+ // Старшая часть суррогатной пары (последнее число можно изменить на 0xDB7F,
+ // чтобы трактовать старшую часть суррогатной пары в частной плоскости как
+ // одиночный символ)
+ if (0xD800 &lt;= code &amp;&amp; code &lt;= 0xDBFF) {
+ if (str.length &lt;= (i + 1)) {
+ throw 'Старшая часть суррогатной пары без следующей младшей';
+ }
+ var next = str.charCodeAt(i + 1);
+ if (0xDC00 &gt; next || next &gt; 0xDFFF) {
+ throw 'Старшая часть суррогатной пары без следующей младшей';
+ }
+ return [str.charAt(i) + str.charAt(i + 1), i + 1];
+ }
+ // Младшая часть суррогатной пары (0xDC00 &lt;= code &amp;&amp; code &lt;= 0xDFFF)
+ if (i === 0) {
+ throw 'Младшая часть суррогатной пары без предшествующей старшей';
+ }
+ var prev = str.charCodeAt(i - 1);
+
+ // (последнее число можно изменить на 0xDB7F, чтобы трактовать старшую
+ // часть суррогатной пары в частной плоскости как одиночный символ)
+ if (0xD800 &gt; prev || prev &gt; 0xDBFF) {
+ throw 'Младшая часть суррогатной пары без предшествующей старшей';
+ }
+ // Возвращаем следующий символ (и увеличиваем счётчик)
+ return [str.charAt(i + 1), i + 1];
+}
+</pre>
+
+<h3 id="Example:_Fixing_charAt_to_support_non-Basic-Multilingual-Plane_(BMP)_characters" name="Example:_Fixing_charAt_to_support_non-Basic-Multilingual-Plane_(BMP)_characters">Пример: добавление к методу <code>charAt()</code> поддержки символов не в Базовой многоязыковой плоскости (БМП)</h3>
+<p>В то время как пример выше может быть более полезен тем, кто хочет поддерживать символы не в плоскости БМП (поскольку он не требует от вызывающей стороны знания о том, где может встретиться символ из не-БМП), в случае, если кто-то желает <em>выбирать</em> символы по индексу и трактовать суррогатную пару внутри строки как один символ, он может использовать следующий код:</p>
+<pre class="brush: js">function fixedCharAt(str, idx) {
+ var ret = '';
+ str += '';
+ var end = str.length;
+
+ var surrogatePairs = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g;
+ while ((surrogatePairs.exec(str)) != null) {
+ var li = surrogatePairs.lastIndex;
+ if (li - 2 &lt; idx) {
+ idx++;
+ } else {
+ break;
+ }
+ }
+
+ if (idx &gt;= end || idx &lt; 0) {
+ return '';
+ }
+
+ ret += str.charAt(idx);
+
+ if (/[\uD800-\uDBFF]/.test(ret) &amp;&amp; /[\uDC00-\uDFFF]/.test(str.charAt(idx + 1))) {
+ // Перешагиваем через один, поскольку один «символ» является частью суррогатной пары
+ ret += str.charAt(idx + 1);
+ }
+ return ret;
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</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>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html b/files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html
new file mode 100644
index 0000000000..d5c58899cf
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/charcodeat/index.html
@@ -0,0 +1,205 @@
+---
+title: String.prototype.charCodeAt()
+slug: Web/JavaScript/Reference/Global_Objects/String/charCodeAt
+tags:
+ - JavaScript
+ - Method
+ - Reference
+ - String
+ - Unicode
+translation_of: Web/JavaScript/Reference/Global_Objects/String/charCodeAt
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>charCodeAt()</code></strong> возвращает числовое значение Юникода для символа по указанному индексу (за исключением кодовых точек Юникода, больших 0x10000).</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.charCodeAt(<var>index</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>index</code></dt>
+ <dd>Целое число больше, либо равное 0 и меньше длины строки; если параметр не является числом, он устанавливается в 0.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Кодовые точки Юникода простираются в диапазоне от 0 до 1114111 (0x10FFFF). Первые 128 кодовых точек Юникода напрямую отображаются в кодировку ASCII. Информацию по Юникоду смотрите в <a href="/ru/docs/Web/JavaScript/Guide/Values,_variables,_and_literals#Unicode">Руководстве по JavaScript</a>.</p>
+
+<p>Обратите внимание, что метод <code>charCodeAt()</code> всегда возвращает значение, меньшее 65536. Так происходит потому, что большие кодовые точки представляются парой (меньших значений) «суррогатных» псевдо-символов, которые используются для составления настоящего символа. Поэтому для того, чтобы получить полный символ для значений символов от 65536 и выше, необходимо получить не только значение <code>charCodeAt(i)</code>, но также значение <code>charCodeAt(i + 1)</code> (как если бы строка состояла из двух букв). Смотрите второй и третий примеры ниже.</p>
+
+<p>Метод <code>charCodeAt()</code> возвращает {{jsxref("Global_Objects/NaN", "NaN")}}, если указанный индекс меньше нуля или больше длины строки.</p>
+
+<p>Обратная совместимость: в более старых версиях (например, в JavaScript 1.2) метод <code>charCodeAt()</code> возвращал число из кодировки ISO-Latin-1 по указанному индексу. Диапазон символов в кодировке ISO-Latin-1 простирается от 0 до 255. Первые 127 чисел напрямую отображаются в кодировку ASCII.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_charCodeAt" name="Example:_Using_charCodeAt">Пример: использование метода <code>charCodeAt()</code></h3>
+
+<p>В следующем примере возвращается число 65, значение Unicode для латинского символа «A».</p>
+
+<pre class="brush: js">'ABC'.charCodeAt(0); // вернёт 65
+</pre>
+
+<h3 id="Example:_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown" name="Example:_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_unknown">Пример: исправление метода <code>charCodeAt()</code> для обработки символов не в Базовой многоязыковой плоскости, если их предыдущее присутствие в строке неизвестно</h3>
+
+<p>Эта версия может использоваться в циклах for, даже когда неизвестно, были ли до указанной позиции символы из не-БМП.</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 &lt;= code &amp;&amp; code &lt;= 0xDBFF) {
+ hi = code;
+ low = str.charCodeAt(idx + 1);
+ if (isNaN(low)) {
+ throw 'Старшая часть суррогатной пары без следующей младшей в fixedCharCodeAt()';
+ }
+ return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
+ }
+ if (0xDC00 &lt;= code &amp;&amp; code &lt;= 0xDFFF) { // Младшая часть суррогатной пары
+ // Мы возвращаем false, чтобы цикл пропустил эту итерацию,
+  // поскольку суррогатная пара
+ // уже обработана в предыдущей итерации
+ return false;
+ // hi = str.charCodeAt(idx - 1);
+ // low = code;
+ // return ((hi - 0xD800) * 0x400) +
+ // (low - 0xDC00) + 0x10000;
+ }
+ return code;
+}
+</pre>
+
+<h3 id="Example:_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_known" name="Example:_Fixing_charCodeAt_to_handle_non-Basic-Multilingual-Plane_characters_if_their_presence_earlier_in_the_string_is_known">Пример: исправление метода <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 &lt; idx) {
+ idx++;
+ }
+ else {
+ break;
+ }
+ }
+
+ if (idx &gt;= end || idx &lt; 0) {
+ return NaN;
+ }
+
+ code = str.charCodeAt(idx);
+
+ var hi, low;
+ if (0xD800 &lt;= code &amp;&amp; code &lt;= 0xDBFF) {
+ hi = code;
+ low = str.charCodeAt(idx + 1);
+ // Перешагиваем через один, поскольку один «символ» является частью суррогатной пары
+ return ((hi - 0xD800) * 0x400) + (low - 0xDC00) + 0x10000;
+ }
+ return code;
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.5', 'String.prototype.charCodeAt')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.charcodeat', 'String.prototype.charCodeAt')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/codepointat/index.html b/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html
new file mode 100644
index 0000000000..db2b8a4e19
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/codepointat/index.html
@@ -0,0 +1,174 @@
+---
+title: String.prototype.codePointAt()
+slug: Web/JavaScript/Reference/Global_Objects/String/codePointAt
+tags:
+ - ECMAScript6
+ - Experimental
+ - Expérimental(2)
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/codePointAt
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>codePointAt()</code></strong> возвращает неотрицательное целое число, являющееся закодированным в UTF-16 значением кодовой точки.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.codePointAt(<var>pos</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>pos</code></dt>
+ <dd>Позиция элемента в строке, чья кодовоя точка возвращается функцией.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Если на указанной позиции нет элементов, будет возвращено значение {{jsxref("Global_Objects/undefined", "undefined")}}. Если суррогатная пара UTF-16 не начинается в позиции <code>pos</code>, будет возвращено кодовое значение в позиции <code>pos</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_codePointAt" name="Example:_Using_codePointAt">Пример: использование метода <code>codePointAt()</code></h3>
+
+<pre class="brush: js">'ABC'.codePointAt(1); // 66
+'\uD800\uDC00'.codePointAt(0); // 65536
+
+'XYZ'.codePointAt(42); // undefined
+</pre>
+
+<h2 id="Polyfill" name="Polyfill">Полифилл</h2>
+
+<p>Следующий полифилл расширяет прототип строки определённой в ECMAScript 6 функцией <code>codePointAt()</code>, если браузер не имеет её родной поддержки.</p>
+
+<pre class="brush: js">/*! http://mths.be/codepointat v0.1.0 от @mathias */
+if (!String.prototype.codePointAt) {
+ (function() {
+ 'use strict'; // необходимо для поддержки методов `apply`/`call` с `undefined`/`null`
+ 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 &lt; 0 || index &gt;= size) {
+ return undefined;
+ }
+ // Получаем первое кодовое значение
+ var first = string.charCodeAt(index);
+ var second;
+ if ( // проверяем, не начинает ли оно суррогатную пару
+ first &gt;= 0xD800 &amp;&amp; first &lt;= 0xDBFF &amp;&amp; // старшая часть суррогатной пары
+ size &gt; index + 1 // следующее кодовое значение
+ ) {
+ second = string.charCodeAt(index + 1);
+ if (second &gt;= 0xDC00 &amp;&amp; second &lt;= 0xDFFF) { // младшая часть суррогатной пары
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+ return (first - 0xD800) * 0x400 + second - 0xDC00 + 0x10000;
+ }
+ }
+ return first;
+ };
+ if (Object.defineProperty) {
+ Object.defineProperty(String.prototype, 'codePointAt', {
+ 'value': codePointAt,
+ 'configurable': true,
+ 'writable': true
+ });
+ } else {
+ String.prototype.codePointAt = codePointAt;
+ }
+ }());
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.codepointat', 'String.prototype.codePointAt')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatChrome("41")}}</td>
+ <td>{{CompatGeckoDesktop("29")}}</td>
+ <td>11 на Windows 10 Preview</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatGeckoMobile("29")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/concat/index.html b/files/ru/web/javascript/reference/global_objects/string/concat/index.html
new file mode 100644
index 0000000000..b8df563087
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/concat/index.html
@@ -0,0 +1,121 @@
+---
+title: String.prototype.concat()
+slug: Web/JavaScript/Reference/Global_Objects/String/concat
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/concat
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>concat()</code></strong> объединяет текст из двух или более строк и возвращает новую строку.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.concat(<var>string2</var>, <var>string3</var>[, ..., <var>stringN</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+<dl>
+ <dt><code>string2...string<em>N</em></code></dt>
+ <dd>Строки, объединяемые в эту строку.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>concat()</code> объединяет текст из двух или более строк и возвращает новую строку. Изменения в тексте в одной строке не затрагивают остальные строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_concat" name="Example:_Using_concat">Пример: использование метода <code>concat()</code></h3>
+<p>В следующем примере несколько строк объединяются в одну.</p>
+<pre class="brush: js">var hello = 'Привет, ';
+console.log(hello.concat('Кевин', ', удачного дня.'));
+
+/* Привет, Кевин, удачного дня. */
+</pre>
+
+<h2 id="Performance" name="Performance">Производительность</h2>
+<p>Настоятельно рекомендуется вместо метода <code>concat()</code> использовать {{jsxref("Operators/Assignment_Operators", "операторы присваивания", "", 1)}} (<code>+</code>, <code>+=</code>). Смотрите это <a href="http://jsperf.com/concat-vs-plus-vs-join">сравнение производительности</a>.</p>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.6', 'String.prototype.concat')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.concat', 'String.prototype.concat')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("Array.prototype.concat()")}}</li>
+ <li>{{jsxref("Operators/Assignment_Operators", "Операторы присваивания", "", 1)}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/endswith/index.html b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html
new file mode 100644
index 0000000000..f2f6aa5c2c
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/endswith/index.html
@@ -0,0 +1,145 @@
+---
+title: String.prototype.endsWith()
+slug: Web/JavaScript/Reference/Global_Objects/String/endsWith
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/endsWith
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>endsWith()</code></strong> позволяет определить, заканчивается ли строка символами указанными в скобках, возвращая, соотвественно, <code>true</code> или <code>false</code>.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><var>str</var>.endsWith(<var>searchString</var>[, <var>length</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>searchString</code></dt>
+ <dd>Символы, искомые в конце строки.</dd>
+ <dt><code><var>length</var></code></dt>
+ <dd>Необязательный параметр. Позволяет искать внутри строки, обрезая её по диапазону; по умолчанию равен длине строки.</dd>
+</dl>
+
+<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
+
+<p><strong><code>true</code></strong> если данные символы находятся в конце строки; в противном случае, <strong><code>false</code></strong>.</p>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Этот метод позволяет определять, заканчивается ли строка искомыми символами. Метод чувствителен к регистру.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_endsWith" name="Example:_Using_endsWith">Пример: использование метода <code>endsWith()</code></h3>
+
+<pre class="brush: js notranslate">var str = 'Быть или не быть, вот в чём вопрос.';
+
+console.log(str.endsWith('вопрос.')); // true
+console.log(str.endsWith('быть')); // false
+console.log(str.endsWith('быть', 16)); // true
+</pre>
+
+<h2 id="Polyfill" name="Polyfill">Полифилл</h2>
+
+<p>Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p>
+
+<pre class="brush: js notranslate">if (!String.prototype.endsWith) {
+ Object.defineProperty(String.prototype, 'endsWith', {
+ value: function(searchString, position) {
+ var subjectString = this.toString();
+ if (position === undefined || position &gt; subjectString.length) {
+ position = subjectString.length;
+ }
+ position -= searchString.length;
+ var lastIndex = subjectString.indexOf(searchString, position);
+ return lastIndex !== -1 &amp;&amp; lastIndex === position;
+ }
+ });
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.endswith', 'String.prototype.endsWith')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatChrome("41")}}</td>
+ <td>{{CompatGeckoDesktop("17")}}</td>
+ <td>12</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatSafari("9")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatChrome("36")}}</td>
+ <td>{{CompatGeckoMobile("17")}}</td>
+ <td>12</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.startsWith()")}} {{experimental_inline}}</li>
+ <li>{{jsxref("String.prototype.contains()")}} {{experimental_inline}}</li>
+ <li>{{jsxref("String.prototype.indexOf()")}}</li>
+ <li>{{jsxref("String.prototype.lastIndexOf()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/fixed/index.html b/files/ru/web/javascript/reference/global_objects/string/fixed/index.html
new file mode 100644
index 0000000000..8f3feae555
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/fixed/index.html
@@ -0,0 +1,108 @@
+---
+title: String.prototype.fixed()
+slug: Web/JavaScript/Reference/Global_Objects/String/fixed
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/fixed
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>fixed()</code></strong> создаёт HTML-элемент {{HTMLElement("tt")}}, заставляющий строку отображаться моноширинным шрифтом.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.fixed()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>fixed()</code> заключает строку в тег <code>&lt;tt&gt;</code>: <code>"&lt;tt&gt;str&lt;/tt&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_fixed" name="Example:_Using_fixed">Пример: использование метода <code>fixed()</code></h3>
+<p>В следующем примере для изменения форматирования строки используется метод <code>fixed()</code>:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+document.write(worldString.fixed());
+</pre>
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+<pre class="brush: html">&lt;tt&gt;Привет, мир&lt;/tt&gt;
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.fixed', 'String.prototype.fixed')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/fontcolor/index.html b/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html
new file mode 100644
index 0000000000..549d0e2b54
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/fontcolor/index.html
@@ -0,0 +1,119 @@
+---
+title: String.prototype.fontcolor()
+slug: Web/JavaScript/Reference/Global_Objects/String/fontcolor
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/fontcolor
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>fontcolor()</code></strong> создаёт HTML-элемент {{HTMLElement("font")}}, заставляющий строку отображаться шрифтом указанного цвета.</p>
+<div class="note">
+ <p><strong>Примечание по использованию:</strong> элемент &lt;font&gt; был удалён из <a href="/ru/docs/Web/Guide/HTML/HTML5">HTML5</a> и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства <a href="/ru/docs/Web/CSS">CSS</a>.</p>
+</div>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.fontcolor(<var>color</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+<dl>
+ <dt><code>color</code></dt>
+ <dd>Строка, выражающая цвет в виде шестнадцатеричного триплета RGB, либо в виде названия цвета. Названия цветов перечислены в <a href="/ru/docs/Web/CSS/color_value">справочнике по значению цвета в CSS</a>.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Ксли вы выразили цвет в виде шестнадцатеричного триплета RGB, вы должны использовать формат <code>rrggbb</code>. Например, шестнадцатеричные значения RGB для оранжево-розового цвета такие: красный=FA, зелёный=80 и синий=72, так что RGB-триплет для оранжево-розового цвета будет следующим <code>"FA8072"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_fontcolor" name="Example:_Using_fontcolor">Пример: использование метода <code>fontcolor()</code></h3>
+<p>В следующем примере метод <code>fontcolor()</code> используется для изменения цвета строки путём генерирования строки с HTML-тегом <code>&lt;font&gt;</code>.</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+console.log(worldString.fontcolor('red') + ' на этой строке красный');
+// '&lt;font color="red"&gt;Привет, мир&lt;/font&gt; на этой строке красный'
+
+console.log(worldString.fontcolor('FF00') + ' на этой строке красный в шестнадцатеричной форме');
+// '&lt;font color="FF00"&gt;Привет, мир&lt;/font&gt; на этой строке красный в шестнадцатеричной форме'
+</pre>
+<p>При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута <code>style</code> элемента и управлять им более обобщённым способом, например:</p>
+<pre class="brush: js">document.getElementById('yourElemId').style.color = 'red';
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.fontcolor', 'String.prototype.fontcolor')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.fontsize()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/fontsize/index.html b/files/ru/web/javascript/reference/global_objects/string/fontsize/index.html
new file mode 100644
index 0000000000..3ed48133c3
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/fontsize/index.html
@@ -0,0 +1,118 @@
+---
+title: String.prototype.fontsize()
+slug: Web/JavaScript/Reference/Global_Objects/String/fontsize
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/fontsize
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>fontsize()</code></strong> создаёт HTML-элемент {{HTMLElement("font")}}, заставляющий строку отображаться шрифтом указанного размера.</p>
+<div class="note">
+ <p><strong>Примечание по использованию:</strong> элемент &lt;font&gt; был удалён из <a href="/ru/docs/Web/Guide/HTML/HTML5">HTML5</a> и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства <a href="/ru/docs/Web/CSS">CSS</a>.</p>
+</div>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.fontsize(<var>size</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+<dl>
+ <dt><code>size</code></dt>
+ <dd>Целое число от 1 до 7, либо строка с целым числом со знаком по модулю от 1 до 7.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>При задании размера в виде целого числа, вы устанавливаете размер шрифта строки <code>str</code> в один из 7 предопределённых размеров. При задании размера в виде строки, например, "-2", вы задаёте размер шрифта строки <code>str</code> относительно размера, установленного тегом {{HTMLElement("basefont")}}.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_fontsize" name="Example:_Using_fontsize">Пример: использование метода <code>fontsize()</code></h3>
+<p>В следующем примере демонстрируется использование нескольких строковых методов для изменения размера строки:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+console.log(worldString.small()); // &lt;small&gt;Привет, мир&lt;/small&gt;
+console.log(worldString.big()); // &lt;big&gt;Привет, мир&lt;/big&gt;
+console.log(worldString.fontsize(7)); // &lt;fontsize=7&gt;Привет, мир&lt;/fontsize&gt;
+</pre>
+<p>При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута <code>style</code> элемента и управлять им более обобщённым способом, например:</p>
+<pre class="brush: js">document.getElementById('yourElemId').style.fontSize = '0.7em';
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.fontsize', 'String.prototype.fontsize')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.big()")}}</li>
+ <li>{{jsxref("String.prototype.small()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html b/files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html
new file mode 100644
index 0000000000..04e5c26ada
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/fromcharcode/index.html
@@ -0,0 +1,138 @@
+---
+title: String.fromCharCode()
+slug: Web/JavaScript/Reference/Global_Objects/String/fromCharCode
+tags:
+ - JavaScript
+ - Method
+ - Reference
+ - String
+ - Unicode
+translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCharCode
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Статический метод <strong><code>String.fromCharCode()</code></strong> возвращает строку, созданную из указанной последовательности значений единиц кода UTF-16.</p>
+
+<p>. </p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code>String.fromCharCode(<var>num1</var>[, ...[, <var>numN</var>]])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>num1, ..., num<em>N</em></code></dt>
+ <dd>Последовательность чисел, являющихся значениями единиц кода UTF-16. <span style="font-size: 1rem; letter-spacing: -0.00278rem;">Диапазон составляет от 0 до 65535 (0xFFFF). Числа больше 0xFFFF усекаются. Проверка достоверности не производится.</span></dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Этот метод возвращает примитивную строку, а не объект {{jsxref("Global_Objects/String", "String")}}.</p>
+
+<p>Поскольку метод <code>fromCharCode()</code> является статическим методом объекта {{jsxref("Global_Objects/String", "String")}}, вы всегда должны использовать его как <code>String.fromCharCode()</code>, а не как метод созданного вами экземпляра {{jsxref("Global_Objects/String", "String")}}.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_fromCharCode" name="Example:_Using_fromCharCode">Пример: использование метода <code>fromCharCode()</code></h3>
+
+<p>Следующий пример вернёт строку "ABC".</p>
+
+<pre class="brush: js">String.fromCharCode(65, 66, 67); // "ABC"
+</pre>
+
+<p dir="ltr" id="tw-target-text"><a href="https://asecuritysite.com/coding/asc2">Полная таблица UTF-16</a></p>
+
+<h2 id="Getting_it_to_work_with_higher_values" name="Getting_it_to_work_with_higher_values">Как заставить его работать с большими значениями</h2>
+
+<p>Хотя большинство распространённых значений Юникода может быть представлено одним 16-битным числом (как ожидалось на ранней стадии стандартизации JavaScript) и метод <code>fromCharCode()</code> может использоваться для возврата одного символа для самых распространённых значений (точнее, значений UCS-2, которые являются подмножеством самых распространённых символов UTF-16), для работы со ВСЕМИ допустимыми значениями Юникода (занимающими до 21 бита) одного метода <code>fromCharCode()</code> недостаточно. Поскольку большие кодовые точки используют (самое меньшее) два «суррогатных» числа для представления одного символа, для возврата таких пар можно использовать метод {{jsxref("String.fromCodePoint()")}} (являющийся частью черновика ES6) и, таким образом, адекватно представлять эти символы.</p>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</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>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html b/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html
new file mode 100644
index 0000000000..6f4cde3a52
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/fromcodepoint/index.html
@@ -0,0 +1,213 @@
+---
+title: String.fromCodePoint()
+slug: Web/JavaScript/Reference/Global_Objects/String/fromCodePoint
+tags:
+ - ECMAScript6
+ - Experimental
+ - Expérimental(2)
+ - JavaScript
+ - Method
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/fromCodePoint
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Статический метод <strong><code>String.fromCodePoint()</code></strong> возвращает строку, созданную из указанной последовательности кодовых точек.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code>String.fromCodePoint(<var>num1</var>[, ...[, <var>numN</var>]])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>num1, ..., num<em>N</em></code></dt>
+ <dd>Последовательность кодовых точек.</dd>
+</dl>
+
+<h3 id="Throws" name="Throws">Выбрасываемые исключения</h3>
+
+<dl>
+ <dt>{{jsxref("Global_Objects/RangeError", "RangeError")}}</dt>
+ <dd>Исключение {{jsxref("Global_Objects/RangeError", "RangeError")}} выбрасывается в случае, если методу предоставлена неверная кодовая точка Юникода (например, "RangeError: NaN is not a valid code point").</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Поскольку метод <code>fromCodePoint()</code> является статическим методом объекта {{jsxref("Global_Objects/String", "String")}}, вы всегда должны использовать его как <code>String.fromCodePoint()</code>, а не как метод созданного вами экземпляра {{jsxref("Global_Objects/String", "String")}}.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_fromCharCode" name="Example:_Using_fromCharCode">Пример: использование метода <code>fromCodePoint()</code></h3>
+
+<pre class="brush: js">String.fromCodePoint(42); // "*"
+String.fromCodePoint(65, 90); // "AZ"
+String.fromCodePoint(0x404); // "\u0404"
+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() не может вернуть символ по такой большой кодовой точке
+// Следующий же метод может вернуть 4-байтный символ так же, как и обычный
+// 2-байтный (то есть, он может вернуть один символ, который на самом деле
+// имеет длину 2, а не 1!)
+console.log(String.fromCodePoint(0x2F804)); // или 194564 в десятичной записи
+</pre>
+
+<h2 id="Polyfill" name="Polyfill">Полифилл</h2>
+
+<p>Метод <code>String.fromCodePoint()</code> был добавлен к стандарту ECMAScript в 6-й версии и может поддерживаться ещё не во всех браузерах или окружениях. Используйте код ниже в качестве полифилла:</p>
+
+<pre class="brush: js">/*! http://mths.be/fromcodepoint v0.1.0 by @mathias */
+if (!String.fromCodePoint) {
+ (function() {
+ var defineProperty = (function() {
+ // IE 8 поддерживает метод `Object.defineProperty` только на элементах DOM
+ try {
+ var object = {};
+ var $defineProperty = Object.defineProperty;
+ var result = $defineProperty(object, object, object) &amp;&amp; $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 &lt; length) {
+ var codePoint = Number(arguments[index]);
+ if (
+ !isFinite(codePoint) || // `NaN`, `+Infinity` или `-Infinity`
+ codePoint &lt; 0 || // неверная кодовая точка Юникода
+ codePoint &gt; 0x10FFFF || // неверная кодовая точка Юникода
+ floor(codePoint) != codePoint // не целое число
+ ) {
+ throw RangeError('Invalid code point: ' + codePoint);
+ }
+ if (codePoint &lt;= 0xFFFF) { // кодовая точка Базовой многоязыковой плоскости (БМП)
+ codeUnits.push(codePoint);
+ } else { // Астральная кодовая точка; делим её на суррогатную пару
+ // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
+ codePoint -= 0x10000;
+ highSurrogate = (codePoint &gt;&gt; 10) + 0xD800;
+ lowSurrogate = (codePoint % 0x400) + 0xDC00;
+ codeUnits.push(highSurrogate, lowSurrogate);
+ }
+ if (index + 1 == length || codeUnits.length &gt; 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="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.fromcodepoint', 'String.fromCodePoint')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatChrome("41")}}</td>
+ <td>{{CompatGeckoDesktop("29")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatGeckoMobile("29")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/includes/index.html b/files/ru/web/javascript/reference/global_objects/string/includes/index.html
new file mode 100644
index 0000000000..a766377bb8
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/includes/index.html
@@ -0,0 +1,127 @@
+---
+title: String.prototype.includes()
+slug: Web/JavaScript/Reference/Global_Objects/String/includes
+tags:
+ - JavaScript
+ - 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>
+
+<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>Строка для поиска в данной строке.</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
+</pre>
+
+<h2 id="Полифилл">Полифилл</h2>
+
+<p>Этот метод был добавлен в спецификации ECMAScript 2015 и может быть недоступен в некоторых реализациях JavaScript. Однако, можно легко эмулировать этот метод:</p>
+
+<pre class="brush: js">if (!String.prototype.includes) {
+  String.prototype.includes = function(search, start) {
+    'use strict';
+    if (typeof start !== 'number') {
+      start = 0;
+    }
+
+    if (start + search.length &gt; this.length) {
+      return false;
+    } else {
+      return this.indexOf(search, start) !== -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('ES6', '#sec-string.prototype.includes', 'String.prototype.includes')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-string.prototype.includes', 'String.prototype.includes')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Поддержка_браузерами">Поддержка браузерами</h2>
+
+<p>{{Compat("javascript.builtins.String.includes")}}</p>
+
+<h2 id="String.prototype.contains">String.prototype.contains</h2>
+
+<p> </p>
+
+<p>В Firefox с версии 18 по версию 39, этот метод назывался «contains». Он был переименован в «includes» в замечании {{bug(1102219)}} по следующей причине:</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> и, если он не существует, добавляет свой собственный. С введением этого метода в 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 — Firefox 18.</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> </p>
+
+<p>В Firefox 48, метод <code>String.prototype.contains()</code> был удалён. Следует использовать только <code>String.prototype.includes()</code>.</p>
+
+<h2 id="См._также">См. также</h2>
+
+<ul>
+ <li>{{jsxref("Array.prototype.includes()")}} {{experimental_inline}}</li>
+ <li>{{jsxref("TypedArray.prototype.includes()")}} {{experimental_inline}}</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/ru/web/javascript/reference/global_objects/string/index.html b/files/ru/web/javascript/reference/global_objects/string/index.html
new file mode 100644
index 0000000000..887272aab2
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/index.html
@@ -0,0 +1,301 @@
+---
+title: String
+slug: Web/JavaScript/Reference/Global_Objects/String
+tags:
+ - JavaScript
+ - NeedsUpdate
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<p>Объект <strong><code>String</code></strong> используется, чтобы представить и конструировать последовательность символов.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<p>Строковые литералы могут быть следующих форм:</p>
+
+<pre class="syntaxbox notranslate"><code>'строка текста'
+"строка текста"
+"中文 español English हिन्दी العربية português বাংলা русский 日本語 ਪੰਜਾਬੀ 한국어 தமிழ்"
+</code></pre>
+
+<p>Кроме регулярных печатных символов можно использовать специальные символы, которые можно закодировать, используя нотацию escape-последовательностей:</p>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Код</th>
+ <th scope="col">Вывод</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>\0</code></td>
+ <td>нулевой символ (символ NUL)</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>\uXXXX</code></td>
+ <td>кодовая точка Юникода</td>
+ </tr>
+ <tr>
+ <td><code>\xXX</code></td>
+ <td>символ из кодировки Latin-1</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Либо можно использовать глобальный объект <code>String</code> напрямую:</p>
+
+<pre class="syntaxbox notranslate"><code>String(thing)
+new String(thing)
+</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>thing</code></dt>
+ <dd>Всё, что может быть преобразовано в строку.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Строки полезны для хранения данных, которые можно представить в текстовой форме. Некоторые из наиболее частых операций со строками — это проверка их {{jsxref("String.length", "длины", "", 1)}}, построение строки с помощью <a href="/ru/docs/Web/JavaScript/Reference/Operators/String_Operators">операций строковой конкатенации + и +=</a>, проверка на существование или местоположение подстрок с помощью метода {{jsxref("String.prototype.indexOf()", "indexOf()")}}, либо извлечение подстрок с помощью метода {{jsxref("String.prototype.substring()", "substring()")}}.</p>
+
+<h3 id="Character_access" name="Character_access">Доступ к символам</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="Comparing_strings" name="Comparing_strings">Сравнение строк</h3>
+
+<p>Разработчики на C имеют для сравнения строк функцию <code>strcmp()</code>. В JavaScript вы просто используете <a href="https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Operators/%D0%9E%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D0%BE%D1%80%D1%8B_%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D1%8F">операторы меньше и больше</a>:</p>
+
+<pre class="brush: js notranslate">var a = 'a';
+var b = 'b';
+if (a &lt; b) { // true
+ print(a + ' меньше чем ' + b);
+} else if (a &gt; b) {
+ print(a + ' больше чем ' + b);
+} else {
+ print(a + ' и ' + b + ' равны.');
+}
+</pre>
+
+<p>Подобный результат также может быть достигнут путём использования метода {{jsxref("String.prototype.localeCompare()", "localeCompare()")}}, имеющегося у всех экземпляров <code>String</code>.</p>
+
+<h3 id="Distinction_between_string_primitives_and_String_objects" name="Distinction_between_string_primitives_and_String_objects">Разница между строковыми примитивами и объектами <code>String</code></h3>
+
+<p>Обратите внимание, что JavaScript различает объекты <code>String</code> и значения строкового примитива (то же самое верно и для объектов {{jsxref("Global_Objects/Boolean", "Boolean")}} и {{jsxref("Global_Objects/Number", "Number")}}).</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 = 'foo';
+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>
+
+<div class="note"><strong>Примечание:</strong> для того, чтобы узнать больше о другом возможном подходе к строкам в JavaScript, прочитайте статью о <a href="/ru/Add-ons/Code_snippets/StringView"><code>StringView</code> — C-подобном представлении строк на основе типизирванных массивов</a>.</div>
+
+<h2 id="Properties" name="Properties">Свойства</h2>
+
+<dl>
+ <dt>{{jsxref("String.prototype")}}</dt>
+ <dd>Позволяет добавлять свойства к объекту <code>String</code>.</dd>
+</dl>
+
+<div>{{jsOverrides("Function", "Properties", "prototype")}}</div>
+
+<h2 id="Methods" name="Methods">Методы</h2>
+
+<dl>
+ <dt>{{jsxref("String.fromCharCode()")}}</dt>
+ <dd>Возвращает строку, созданную из указанной последовательности значений Юникода.</dd>
+ <dt>{{jsxref("String.fromCodePoint()")}} {{experimental_inline}}</dt>
+ <dd>Возвращает строку, созданную из указанной последовательности кодовых точек Юникода.</dd>
+ <dt>{{jsxref("String.raw()")}} {{experimental_inline}}</dt>
+ <dd>Возвращает строку, созданную из сырой шаблонной строки.</dd>
+</dl>
+
+<div>{{jsOverrides("Function", "Methods", "fromCharCode", "fromCodePoint", "raw")}}</div>
+
+<h2 id="String_generic_methods" name="String_generic_methods">Общие методы объекта <code>String</code></h2>
+
+<p>Методы экземпляров <code>String</code> также доступны в Firefox как часть JavaScript 1.6 (который не является частью стандарта ECMAScript) на объекте <code>String</code>, что позволяет применять эти методы к любому объекту:</p>
+
+<pre class="brush: js notranslate">var num = 15;
+console.log(String.replace(num, /5/, '2'));
+</pre>
+
+<p>{{jsxref("Global_Objects/Array", "Общие методы", "#Array_generic_methods", 1)}} также доступны для объекта {{jsxref("Global_Objects/Array", "Array")}}.</p>
+
+<p>Следующая прослойка позволяет использовать их во всех браузерах:</p>
+
+<pre class="brush: js notranslate">/*globals define*/
+// Предполагаем, что все требуемые методы экземпляров String уже присутствуют
+// (для них так же можно использовать полифиллы, если их нет)
+(function() {
+ 'use strict';
+
+ var i,
+ // Мы могли построить массив методов следующим образом, однако метод
+ // getOwnPropertyNames() нельзя реализовать на JavaScript:
+ // Object.getOwnPropertyNames(String).filter(function(methodName) {
+ // return typeof String[methodName] === 'function';
+ // });
+ methods = [
+ 'quote', 'substring', 'toLowerCase', 'toUpperCase', 'charAt',
+ 'charCodeAt', 'indexOf', 'lastIndexOf', 'startsWith', 'endsWith',
+ 'trim', 'trimLeft', 'trimRight', 'toLocaleLowerCase',
+ 'toLocaleUpperCase', 'localeCompare', 'match', 'search',
+ 'replace', 'split', 'substr', 'concat', 'slice'
+ ],
+ methodCount = methods.length,
+ assignStringGeneric = function(methodName) {
+ var method = String.prototype[methodName];
+ String[methodName] = function(arg1) {
+ return method.apply(arg1, Array.prototype.slice.call(arguments, 1));
+ };
+ };
+
+ for (i = 0; i &lt; methodCount; i++) {
+ assignStringGeneric(methods[i]);
+ }
+}());
+</pre>
+
+<h2 id="String_instances" name="String_instances">Экземпляры объекта <code>String</code></h2>
+
+<h3 id="Properties_of_String_instance" name="Properties_of_String_instance">Свойства</h3>
+
+<div>{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Properties')}}</div>
+
+<h3 id="Methods_of_String_instance" name="Methods_of_String_instance">Методы</h3>
+
+<h4 id="Methods_unrelated_to_HTML" name="Methods_unrelated_to_HTML">Методы, не относящиеся к HTML</h4>
+
+<div>{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'Methods_unrelated_to_HTML')}}</div>
+
+<h4 id="HTML_wrapper_methods" name="HTML_wrapper_methods">Методы-обёртки HTML</h4>
+
+<div>{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/String/prototype', 'HTML_wrapper_methods')}}</div>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_String_conversion" name="Example:_String_conversion">Пример: преобразование в строку</h3>
+
+<p>Объект <code>String</code> можно использовать как «безопасную» альтернативу методу {{jsxref("String.prototype.toString()", "toString()")}}, так как хотя он обычно и вызывает соответствующий метод <code>toString()</code>, он также работает и для значений {{jsxref("Global_Objects/null", "null")}} и {{jsxref("Global_Objects/undefined", "undefined")}}. Например:</p>
+
+<pre class="brush: js notranslate">var outputStrings = [];
+for (var i = 0, n = inputValues.length; i &lt; n; ++i) {
+ outputStrings.push(String(inputValues[i]));
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5', 'String')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string-objects', 'String')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div class="hidden">
+<p>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>
+</div>
+
+<p>{{Compat("javascript.builtins.String",2)}}</p>
+
+<div></div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{domxref("DOMString")}}</li>
+ <li><a href="/ru/Add-ons/Code_snippets/StringView"><code>StringView</code> — C-подобное представление строк на основе типизированных массивов</a></li>
+ <li><a href="/ru/docs/Web/API/DOMString/Binary">Двоичные строки</a></li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/indexof/index.html b/files/ru/web/javascript/reference/global_objects/string/indexof/index.html
new file mode 100644
index 0000000000..2b91bdc97a
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/indexof/index.html
@@ -0,0 +1,194 @@
+---
+title: String.prototype.indexOf()
+slug: Web/JavaScript/Reference/Global_Objects/String/indexOf
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/indexOf
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>indexOf()</code></strong> возвращает индекс первого вхождения указанного значения в строковый объект {{jsxref("Global_Objects/String", "String")}}, на котором он был вызван, начиная с индекса <code>fromIndex</code>. Возвращает -1, если значение не найдено.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.indexOf(<var>searchValue</var>, [<var>fromIndex</var>]</code>)</pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>searchValue</code></dt>
+ <dd>Строка, представляющая искомое значение.</dd>
+ <dt><code>fromIndex</code></dt>
+ <dd>Необязательный параметр. Местоположение внутри строки, откуда начинать поиск. Может быть любым целым числом. Значение по умолчанию установлено в 0. Если <code>fromIndex &lt; 0</code>, поиск ведётся по всей строке (так же, как если бы был передан 0). Если <code>fromIndex &gt;= str.length</code>, метод вернёт -1, но только в том случае, если <code>searchValue</code> не равен пустой строке, в этом случае он вернёт <code>str.length</code>.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке <code>stringName</code> равен <code>stringName.length - 1</code>.</p>
+
+<pre class="brush: js">'Синий кит'.indexOf('Синий'); // вернёт 0
+'Синий кит'.indexOf('Голубой'); // вернёт -1
+'Синий кит'.indexOf('кит', 0); // вернёт 6
+'Синий кит'.indexOf('кит', 5); // вернёт 6
+'Синий кит'.indexOf('', 8); // вернёт 8
+'Синий кит'.indexOf('', 9); // вернёт 9
+'Синий кит'.indexOf('', 10); // вернёт 9
+</pre>
+
+<h3 id="Case-sensitivity" name="Case-sensitivity">Регистрозависимость</h3>
+
+<p>Метод <code>indexOf()</code> является регистрозависимым. Например, следующее выражение вернёт -1:</p>
+
+<pre class="brush: js">'Синий кит'.indexOf('синий'); // вернёт -1
+</pre>
+
+<h3 id="Checking_occurrences" name="Checking_occurrences">Проверка на вхождение</h3>
+
+<p>Обратите внимание, что значение 0 не вычисляется в <code>true</code>, а значение -1 не вычисляется в <code>false</code>. Поэтому, для проверки того, что конкретная строка содержится в другой строке, правильно делать так:</p>
+
+<pre class="brush: js">'Синий кит'.indexOf('Синий') !== -1; // true
+'Синий кит'.indexOf('Голубой') !== -1; // false
+</pre>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_indexOf_and_lastIndexOf" name="Example:_Using_indexOf_and_lastIndexOf">Пример: использование методов <code>indexOf()</code> и <code>lastIndexOf()</code></h3>
+
+<p>В следующем примере используются методы <code>indexOf()</code> и {{jsxref("String.prototype.lastIndexOf()", "lastIndexOf()")}} для нахождения значений в строке <code>"Дивный новый мир"</code>.</p>
+
+<pre class="brush: js">var anyString = 'Дивный новый мир';
+
+console.log('Индекс первого вхождения «й» с начала строки равен ' + anyString.indexOf('й'));
+// Отобразит 5
+console.log('Индекс первого вхождения «й» с конца строки равен ' + anyString.lastIndexOf('й'));
+// Отобразит 11
+
+console.log('Индекс вхождения «новый» с начала строки равен ' + anyString.indexOf('новый'));
+// Отобразит 7
+console.log('Индекс вхождения «новый» с конца строки равен ' + anyString.lastIndexOf('новый'));
+// Отобразит 7
+</pre>
+
+<h3 id="Example:_indexOf_and_case-sensitivity" name="Example:_indexOf_and_case-sensitivity">Пример: метод <code>indexOf()</code> и регистрозависимость</h3>
+
+<p>В следующем примере определяются две строковых переменных. Переменные содержат одинаковые строки, за исключение того, что слова во второй строке начинаются с заглавных букв. Первый вызов метода {{domxref("console.log()")}} отобразит 18. Но поскольку метод <code>indexOf()</code> является регистрозависимым, строка <code>"чеддер"</code> в переменной <code>myCapString</code> не будет найдена, так что второй вызов метода <code>console.log()</code> отобразит -1.</p>
+
+<pre class="brush: js">var myString = 'бри, пеппер джек, чеддер';
+var myCapString = 'Бри, Пеппер Джек, Чеддер';
+
+console.log('Вызов myString.indexOf("чеддер") вернул ' + myString.indexOf('чеддер'));
+// Отобразит 18
+console.log('Вызов myCapString.indexOf("чеддер") вернул ' + myCapString.indexOf('чеддер'));
+// Отобразит -1
+</pre>
+
+<h3 id="Example:_Using_indexOf_to_count_occurrences_of_a_letter_in_a_string" name="Example:_Using_indexOf_to_count_occurrences_of_a_letter_in_a_string">Пример: использование метода <code>indexOf()</code> для подсчёта вхождений буквы в строку</h3>
+
+<p>Следующий пример устанавливает значение переменной <code>count</code> в количество вхождений буквы <code>в</code> в строку <code>str</code>:</p>
+
+<pre class="brush: js">var str = 'Быть или не быть, вот в чём вопрос.';
+var count = 0;
+var pos = str.indexOf('в');
+
+while (pos !== -1) {
+ count++;
+ pos = str.indexOf('в', pos + 1);
+}
+
+console.log(count); // отобразит 3
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.7', 'String.prototype.indexOf')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.indexof', 'String.prototype.indexOf')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.charAt()")}}</li>
+ <li>{{jsxref("String.prototype.lastIndexOf()")}}</li>
+ <li>{{jsxref("String.prototype.split()")}}</li>
+ <li>{{jsxref("Array.prototype.indexOf()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/italics/index.html b/files/ru/web/javascript/reference/global_objects/string/italics/index.html
new file mode 100644
index 0000000000..3876249dcb
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/italics/index.html
@@ -0,0 +1,114 @@
+---
+title: String.prototype.italics()
+slug: Web/JavaScript/Reference/Global_Objects/String/italics
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/italics
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>italics()</code></strong> создаёт HTML-элемент {{HTMLElement("i")}}, заставляющий строку отображаться курсивом.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.italics()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>italics()</code> заключает строку в тег <code>&lt;i&gt;</code>: <code>"&lt;i&gt;str&lt;/i&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_italics" name="Example:_Using_italics">Пример: использование метода <code>italics()</code></h3>
+<p>В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+</pre>
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+<pre class="brush: html">&lt;blink&gt;Привет, мир&lt;/blink&gt;
+&lt;b&gt;Привет, мир&lt;/b&gt;
+&lt;i&gt;Привет, мир&lt;/i&gt;
+&lt;strike&gt;Привет, мир&lt;/strike&gt;
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.italics', 'String.prototype.italics')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/lastindexof/index.html b/files/ru/web/javascript/reference/global_objects/string/lastindexof/index.html
new file mode 100644
index 0000000000..853670b0e1
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/lastindexof/index.html
@@ -0,0 +1,155 @@
+---
+title: String.prototype.lastIndexOf()
+slug: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/lastIndexOf
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>lastIndexOf()</code></strong> возвращает индекс последнего вхождения указанного значения в строковый объект {{jsxref("Global_Objects/String", "String")}}, на котором он был вызван, или -1, если ничего не было найдено. Поиск по строке ведётся от конца к началу, начиная с индекса <code>fromIndex</code>.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.lastIndexOf(<var>searchValue</var>[, <var>fromIndex</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>searchValue</code></dt>
+ <dd>Строка, представляющая искомое значение.</dd>
+ <dt><code>fromIndex</code></dt>
+ <dd>Необязательный параметр. Местоположение внутри строки, откуда начинать поиск, нумерация индексов идёт слева направо. Может быть любым целым числом. Значение по умолчанию установлено в <code>str.length</code>. Если оно отрицательно, трактуется как 0. Если <code>fromIndex &gt; str.length</code>, параметр <code>fromIndex</code> будет трактоваться как <code>str.length</code>.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке <code>stringName</code> равен <code>stringName.length - 1</code>.</p>
+
+<pre class="brush: js">'канал'.lastIndexOf('а'); // вернёт 3
+'канал'.lastIndexOf('а', 2); // вернёт 1
+'канал'.lastIndexOf('а', 0); // вернёт -1
+'канал'.lastIndexOf('ч'); // вернёт -1
+</pre>
+
+<h3 id="Case-sensitivity" name="Case-sensitivity">Регистрозависимость</h3>
+
+<p>Метод <code>lastIndexOf()</code> является регистрозависимым. Например, следующее выражение вернёт -1:</p>
+
+<pre class="brush: js">'Cиний кит, касатка'.lastIndexOf('синий'); // вернёт -1
+</pre>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_indexOf_and_lastIndexOf" name="Example:_Using_indexOf_and_lastIndexOf">Пример: использование методов <code>indexOf()</code> и <code>lastIndexOf()</code></h3>
+
+<p>В следующем примере используются методы {{jsxref("String.prototype.indexOf()", "indexOf()")}} и <code>lastIndexOf()</code> для нахождения значений в строке <code>"Дивный новый мир"</code>.</p>
+
+<pre class="brush: js">var anyString = 'Дивный новый мир';
+
+console.log('Индекс первого вхождения «й» с начала строки равен ' + anyString.indexOf('й'));
+// Отобразит 5
+console.log('Индекс первого вхождения «й» с конца строки равен ' + anyString.lastIndexOf('й'));
+// Отобразит 11
+
+console.log('Индекс вхождения «новый» с начала строки равен ' + anyString.indexOf('новый'));
+// Отобразит 7
+console.log('Индекс вхождения «новый» с конца строки равен ' + anyString.lastIndexOf('новый'));
+// Отобразит 7
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.8', 'String.prototype.lastIndexOf')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.lastindexof', 'String.prototype.lastIndexOf')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/length/index.html b/files/ru/web/javascript/reference/global_objects/string/length/index.html
new file mode 100644
index 0000000000..f794c6ccdf
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/length/index.html
@@ -0,0 +1,116 @@
+---
+title: String.length
+slug: Web/JavaScript/Reference/Global_Objects/String/length
+tags:
+ - JavaScript
+ - Property
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/length
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Свойство <strong><code>length</code></strong> представляет длину строки.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.length</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Это свойство возвращает количество кодовых значений в строке. В {{interwiki("wikipedia", "UTF-16")}}, строковом формате, используемом в JavaScript, для представления большинства символов используется одно 16-битное кодовое значение, но для представления не так часто используемых символов требуется два кодовых значения, так что вполне может быть так, что значение, возвращённое свойством <code>length</code> не будет соответствовать действительному количеству символов в строке.</p>
+<p>Для пустых строк свойство <code>length</code> возвращает 0.</p>
+<p>Статическое свойство <code>String.length</code> возвращает значение 1.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Basic_usage" name="Example:_Basic_usage">Пример: базовое использование</h3>
+<pre class="brush: js">var x = 'Mozilla';
+var empty = '';
+
+console.log('Слово «Mozilla» занимает ' + x.length + ' кодовых значений');
+/* "Слово «Mozilla» занимает 7 кодовых значений" */
+
+console.log('Пустая строка имеет длину, равную ' + empty.length);
+/* "Пустая строка имеет длину, равную 0" */
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.5.1', 'String.prototype.length')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-properties-of-string-instances-length', 'String.prototype.length')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li><a class="external" href="http://developer.teradata.com/blog/jasonstrimpel/2011/11/javascript-string-length-and-internationalizing-web-applications">Свойство <code>String.length</code> в JavaScript и интернационализация веб-приложений</a></li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/link/index.html b/files/ru/web/javascript/reference/global_objects/string/link/index.html
new file mode 100644
index 0000000000..00cec2d905
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/link/index.html
@@ -0,0 +1,131 @@
+---
+title: String.prototype.link()
+slug: Web/JavaScript/Reference/Global_Objects/String/link
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/link
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>link()</code></strong> создаёт HTML-элемент {{HTMLElement("a")}}, заставляющий строку отображаться в виде ссылки на другой URL.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.link(<var>url</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>url</code></dt>
+ <dd>Любая строка, определяющая атрибут <code>href</code> тега <code>&lt;a&gt;</code>; она должна содержать допустимый URL (относительный или абсолютный), символы амперсанда <code>&amp;</code> должны быть закодированы в ней как <code>&amp;amp;</code>, а символы кавычки <code>"</code> — как <code>&amp;quot;</code>.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>link()</code> используется для создания кусочка HTML со ссылкой в гипертексте. Возвращённая строка затем может быть добавлена в документ при помощи метода {{domxref("document.write()")}} или свойства {{domxref("element.innerHTML")}}</p>
+
+<p>Ссылки, созданные методом <code>link()</code>, становятся элементами в массиве {{domxref("document.links")}}.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_link" name="Example:_Using_link">Пример: использование метода <code>link()</code></h3>
+
+<p>В следующем примере слово «MDN» отображается в виде гипертекстовой ссылки, ведущей на сайт Сети разработчиков Mozilla.</p>
+
+<pre class="brush: js">var hotText = 'MDN';
+var URL = 'https://developer.mozilla.org/';
+
+document.write('Нажмите для возврата на ' + hotText.link(URL));
+</pre>
+
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+
+<pre class="brush: html">Нажмите для возврата на &lt;a href="https://developer.mozilla.org/"&gt;MDN&lt;/a&gt;
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.link', 'String.prototype.link')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h3 id="Gecko-specific_notes" name="Gecko-specific_notes">Примечания по Gecko</h3>
+
+<p>Начиная с версии {{gecko("17")}}, символ <code>"</code> (кавычка) в строках, передаваемых в качестве параметра <code>url</code>, заменяется его HTML-мнемоникой <code>&amp;quot;</code>.</p>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.anchor()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/localecompare/index.html b/files/ru/web/javascript/reference/global_objects/string/localecompare/index.html
new file mode 100644
index 0000000000..606cf86549
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/localecompare/index.html
@@ -0,0 +1,196 @@
+---
+title: String.prototype.localeCompare()
+slug: Web/JavaScript/Reference/Global_Objects/String/localeCompare
+tags:
+ - Internationalization
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/localeCompare
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>localeCompare()</code></strong> возвращает число, указывающее, должна ли данная строка находиться до, после или в том же самом месте, что и строка, переданная через параметр, при сортировке этих строк.</p>
+
+<p>Новые аргументы <code>locales</code> и <code>options</code> позволяют приложениям определять язык, чей порядок сортировки оно хочет использовать и настраивать поведение этой функции. В старых реализациях, игнорирующих аргументы <code>locales</code> и <code>options</code>, используемая локаль и порядок сортировки целиком зависят от реализации.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.localeCompare(<var>compareString</var>[, <var>locales</var>[, <var>options</var>]])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<p>Проверьте раздел <a href="#Browser_compatibility">Совместимость с браузерами</a>, чтобы увидеть, какие браузеры поддерживают аргументы <code>locales</code> и <code>options</code>, и <a href="#Example:_Checking_for_support_for_locales_and_options_arguments">Пример: проверка поддержки аргументов <code>locales</code> и <code>options</code></a> для определения этой возможности.</p>
+
+<dl>
+ <dt><code>compareString</code></dt>
+ <dd>Строка, с которой сравнивается данная.</dd>
+</dl>
+
+<div>{{page('/ru/docs/Web/JavaScript/Reference/Global_Objects/Collator', 'Parameters')}}</div>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Возвращает число, указывающее, должна данная строка находится до, после или в том же самом месте, что и строка, переданная через параметр, при сортировке этих строк. Если данная строка предшествует строке <code>compareString</code>, возвращает отрицательное число, если она следует за строкой <code>compareString</code>, возвращает положительное значение и возвращает 0, если строки находятся на одном уровне.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_localeCompare" name="Example:_Using_localeCompare">Пример: использование метода <code>localeCompare()</code></h3>
+
+<p>Следующий пример демонстрирует различные потенциальные результаты для строки, находящейся до, после или на том же самом уровне, что и другая строка:</p>
+
+<pre class="brush: js">console.log(new Intl.Collator().compare('a', 'c')); // -2, -1 или другое отрицательное значение
+console.log(new Intl.Collator().compare('c', 'a')); // 2, 1 или другое положительное значение
+console.log(new Intl.Collator().compare('a', 'a')); // 0
+</pre>
+
+<p>Обратите внимание, что результат, показанный в коде выше, может сильно различаться в зависимости от браузера и его версии. Происходит это потому, что возвращаемые значения зависят от реализации. То есть, спецификация требует только того, чтобы значение было отрицательным, если строка данная следует до переданной, и положительным — если после.</p>
+
+<h3 id="Example:_Checking_for_support_for_locales_and_options_arguments" name="Example:_Checking_for_support_for_locales_and_options_arguments">Пример: проверка поддержки аргументов <code>locales</code> и <code>options</code></h3>
+
+<p>Аргументы <code>locales</code> и <code>options</code> поддерживаются ещё не всеми браузерами. Для проверки того, поддерживает ли их уже реализация, можно затребовать несуществующую метку языка и проверить, будет ли выброшено исключение {{jsxref("Global_Objects/RangeError", "RangeError")}}:</p>
+
+<pre class="brush: js">function localeCompareSupportsLocales() {
+ try {
+ 'a'.localeCompare​('b', 'i');
+ } catch (e) {
+ return e​.name === 'RangeError';
+ }
+ return false;
+}
+</pre>
+
+<h3 id="Example:_Using_locales" name="Example:_Using_locales">Пример: использование аргумента <code>locales</code></h3>
+
+<p>Результаты, предоставляемые методом <code>localeCompare()</code>, сильно различаются в зависимости от языка. Для получения порядка сортировки языка, используемого в пользовательском интерфейсе вашего приложения, убедитесь, что вы указали этот язык (и, возможно, несколько запасных языков) через аргумент <code>locales</code>:</p>
+
+<pre class="brush: js">console.log('ä'.localeCompare('z', 'de')); // отрицательное значение: в немецком буква ä идёт рядом с буквой a
+console.log('ä'.localeCompare('z', 'sv')); // положительное значение: в шведском буква ä следует после буквы z
+</pre>
+
+<h3 id="Example:_Using_options" name="Example:_Using_options">Пример: использование аргумента <code>options</code></h3>
+
+<p>Результат, предоставляемый методом <code>localeCompare()</code>, может быть настроен с помощью аргумента <code>options</code>:</p>
+
+<pre class="brush: js">// В немецком буква a является базовой для буквы ä
+console.log('ä'.localeCompare('a', 'de', { sensitivity: 'base' })); // 0
+
+// В шведском буквы ä и a являются двумя разными базовыми буквами
+console.log('ä'.localeCompare('a', 'sv', { sensitivity: 'base' })); // положительное значение
+</pre>
+
+<h2 id="Performance" name="Performance">Производительность</h2>
+
+<p>При сравнении большого количества строк, например, при сортировке больших массивов, лучшим вариантом будет создание объекта {{jsxref("Global_Objects/Collator", "Intl.Collator")}} и использование функции, предоставляемой его свойством {{jsxref("Collator.prototype.compare", "compare")}}.</p>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.9', 'String.prototype.localeCompare')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.localecompare', 'String.prototype.localeCompare')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES Int 1.0', '#sec-13.1.1', 'String.prototype.localeCompare')}}</td>
+ <td>{{Spec2('ES Int 1.0')}}</td>
+ <td>Определение параметров <code>locale</code> и <code>option</code>.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ <tr>
+ <td>Аргументы <code>locales</code> и <code>options</code></td>
+ <td>{{CompatChrome("24")}}</td>
+ <td>{{CompatGeckoDesktop("29")}}</td>
+ <td>{{CompatIE("11")}}</td>
+ <td>{{CompatOpera("15")}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ <tr>
+ <td>Аргументы <code>locales</code> и <code>options</code></td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatChrome("26")}}</td>
+ <td>{{CompatNo}}<br>
+ {{bug("864843")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("Global_Objects/Collator", "Intl.Collator")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/match/index.html b/files/ru/web/javascript/reference/global_objects/string/match/index.html
new file mode 100644
index 0000000000..ebcc53c574
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/match/index.html
@@ -0,0 +1,177 @@
+---
+title: String.prototype.match()
+slug: Web/JavaScript/Reference/Global_Objects/String/match
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Regular Expressions
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/match
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>match()</code></strong> возвращает получившиеся совпадения при сопоставлении <em>строки</em> с <em>регулярным выражением</em>.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.match(<var>regexp</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>regexp</code></dt>
+ <dd>Объект регулярного выражения. Если будет передан объект <code>obj</code>, не являющийся регулярным выражением, он будет неявно преобразован в объект {{jsxref("Global_Objects/RegExp", "RegExp")}} через вызов конструктора <code>new RegExp(obj)</code>.</dd>
+</dl>
+
+<h3 id="Returns" name="Returns">Возвращаемое значение</h3>
+
+<dl>
+ <dt><code>array</code></dt>
+ <dd>Объект {{jsxref("Global_Objects/Array", "Array")}}, содержащий результаты сопоставления, или {{jsxref("Global_Objects/null", "null")}}, если ничего не было сопоставлено.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Если регулярное выражение не содержит флаг <code>g</code>, возвращаемый результат будет тем же самым, что и при вызове метода {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}}. Возвращаемый объект {{jsxref("Global_Objects/Array", "массива", "", 1)}} имеет дополнительное свойство <code>input</code>, которое содержит оригинальную строку. Кроме того, он имеет свойство <code>index</code>, которое представляет индекс (нумерация с нуля) сопоставления в строке.</p>
+
+<p>Если регулярное выражение содержит флаг <code>g</code>, метод вернёт {{jsxref("Global_Objects/Array", "массив", "", 1)}}, содержащий все сопоставления. Если сопоставлений не было, метод вернёт значение {{jsxref("Global_Objects/null", "null")}}.</p>
+
+<h3 id="See_also_RegExp_methods" name="See_also:_RegExp_methods">Смотрите также: методы объекта <code>RegExp</code></h3>
+
+<ul>
+ <li>Если вам надо просто узнать, подпадает ли строка под регулярное выражение, используйте метод {{jsxref("String.prototype.search()", "search()")}}.</li>
+ <li>Если вам нужно найти только первое сопоставление, вы можете использовать метод {{jsxref("RegExp.prototype.exec()", "RegExp.exec()")}}.</li>
+</ul>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_match" name="Example:_Using_match">Пример: использование метода <code>match()</code></h3>
+
+<p>В следующем примере метод <code>match()</code> используется для поиска слова <code>'Глава'</code>, за которым следуют 1 или более цифр, за которыми следуют 0 или более раз группы из точки и цифры. Регулярное выражение включает флаг <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);
+
+// выведет [ 'Глава 3.4.5.1',
+// 'Глава 3.4.5.1',
+//  '.1',
+//  index: 0,
+//  input: 'Глава 3.4.5.1 содержит дополнительную информацию' ]
+
+// 'Глава 3.4.5.1' - это первое сопоставление и первое значение,
+// сопоставленное с группой `(Глава \d+(\.\d)*)`.
+// '.1' - это последнее значение, сопоставленное с группой `(\.\d)`.
+// Свойство 'index' содержит значение (0) индекса совпадения
+// относительно начала сопоставления
+// Свойство 'input' содержит значение введенной строки.</pre>
+
+<h3 id="Example_Using_global_and_ignore_case_flags_with_match" name="Example:_Using_global_and_ignore_case_flags_with_match">Пример: использование флагов глобальности и игнорирования регистра с методом <code>match()</code></h3>
+
+<p>Следующий пример демонстрирует использование флагов глобального поиска и игнорирования регистра символов вместе с методом <code>match()</code>. Возвращаются все буквы от А до Д и от а до д, каждая в своём элементе массива.</p>
+
+<pre class="brush: js">var str = 'АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯабвгдеёжзийклмнопрстуфхцчшщьыъэюя';
+var regexp = /[А-Д]/gi;
+var matches_array = str.match(regexp);
+
+console.log(matches_array);
+// ['А', 'Б', 'В', 'Г', 'Д', 'а', 'б', 'в', 'г', 'д']
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.10', 'String.prototype.match')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.match', 'String.prototype.match')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h3 id="Firefox-specific_notes" name="Firefox-specific_notes">Примечания по Firefox</h3>
+
+<ul>
+ <li>Начиная с Gecko 27 {{geckoRelease(27)}}, этот метод был поправлен для соотвествия спецификации ECMAScript. При вызове метода <code>match()</code> с глобальным регулярным выражением, свойство {{jsxref("RegExp.lastIndex")}} (если оно определено) будет сбрасываться в <code>0</code> ({{bug(501739)}}).</li>
+</ul>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("RegExp.prototype.exec()")}}</li>
+ <li>{{jsxref("RegExp.prototype.test()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/matchall/index.html b/files/ru/web/javascript/reference/global_objects/string/matchall/index.html
new file mode 100644
index 0000000000..6c8defbc17
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/matchall/index.html
@@ -0,0 +1,120 @@
+---
+title: String.prototype.matchAll()
+slug: Web/JavaScript/Reference/Global_Objects/String/matchAll
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Regular Expressions
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/matchAll
+---
+<div>{{JSRef}}</div>
+
+<p>Метод <strong><code>matchAll()</code></strong> возвращает итератор по всем результатам при сопоставлении <em>строки с регулярным выражением</em>.</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>regexp</code></dt>
+ <dd>Объект регулярного выражения. Если передано значение, не являющееся объектом регулярного выражения, оно неявно преобразуется в {{jsxref("RegExp")}} используя <code>new RegExp(obj)</code>.</dd>
+</dl>
+
+<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
+
+<p>Возвращается <a href="/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators">iterator</a> (не перезапускаемый).</p>
+
+<h2 id="Примеры">Примеры</h2>
+
+<h3 id="Regexp.exec_и_matchAll">Regexp.exec() и matchAll()</h3>
+
+<p>До добавления метода <code>matchAll</code> в JavaScript, можно было использовать метод <a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec">regexp.exec</a> (и регулярные выражения с флагом <code>/g</code> ) в цикле для получения доступа к совпадениям:</p>
+
+<pre class="brush: js notranslate">const regexp = RegExp('foo*','g');
+const str = 'table football, foosball';
+
+while ((matches = regexp.exec(str)) !== null) {
+  console.log(`Found ${matches[0]}. Next starts at ${regexp.lastIndex}.`);
+  // expected output: "Found foo. Next starts at 9."
+  // expected output: "Found foo. Next starts at 19."
+}
+</pre>
+
+<p>С появлением <code>matchAll</code>, нет необходимости использовать цикл <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/while">while</a></code> и метод <code>exec</code> с флагом <code>/g</code>.<br>
+ Используя вместо этого метод <code>matchAll</code>, вы получаете итератор, который вы можете использовать более удобно с конструкциями <code><a href="/en-US/docs/Web/JavaScript/Reference/Statements/for...of">for...of</a></code>, <a href="/en-US/docs/Web/JavaScript/Reference/Operators/Spread_syntax">array spread</a>, или {{jsxref("Array.from()")}} :</p>
+
+<pre class="brush: js notranslate">const regexp = RegExp('foo*','g');
+const str = 'table football, foosball';
+let matches = str.matchAll(regexp);
+
+for (const match of matches) {
+  console.log(match);
+}
+// Array [ "foo" ]
+// Array [ "foo" ]
+
+// итерация больше недоступна после вызова for of
+// Для создания нового итератора вызовите matchAll повторно
+matches = str.matchAll(regexp);
+
+Array.from(matches, m =&gt; m[0]);
+// Array [ "foo", "foo" ]
+</pre>
+
+<h3 id="Улучшенный_доступ_к_группам_захвата">Улучшенный доступ к группам захвата</h3>
+
+<p>Еще одна веская причина использовать <code>matchAll</code> это улучшенный доступ к группам захвата. Группы захвата игнорируются при использовании <code><a href="/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match">match()</a></code> с глобальным флагом <code>/g</code>:</p>
+
+<pre class="brush: js notranslate">var regexp = /t(e)(st(\d?))/g;
+var str = 'test1test2';
+
+str.match(regexp);
+// Array ['test1', 'test2']</pre>
+
+<p>С <code>matchAll</code> у вас появляется к ним доступ:</p>
+
+<pre class="brush: js notranslate">let array = [...str.matchAll(regexp)];
+
+array[0];
+// ['test1', 'e', 'st1', '1', index: 0, input: 'test1test2', length: 4]
+array[1];
+// ['test2', 'e', 'st2', '2', index: 5, input: 'test1test2', length: 4]
+</pre>
+
+<h2 id="Спецификации">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ </tr>
+ <tr>
+ <td><a href="https://tc39.github.io/proposal-string-matchall/#sec-string-prototype-matchall">String.prototype.matchAll</a></td>
+ <td>Stage 3</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("RegExp")}}</li>
+ <li>{{jsxref("RegExp.prototype.exec()")}}</li>
+ <li>{{jsxref("RegExp.prototype.test()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/normalize/index.html b/files/ru/web/javascript/reference/global_objects/string/normalize/index.html
new file mode 100644
index 0000000000..098bc2de09
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/normalize/index.html
@@ -0,0 +1,174 @@
+---
+title: String.prototype.normalize()
+slug: Web/JavaScript/Reference/Global_Objects/String/normalize
+tags:
+ - ECMAScript6
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Unicode
+translation_of: Web/JavaScript/Reference/Global_Objects/String/normalize
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>normalize()</code></strong> возвращает форму нормализации Юникода данной строки (если значение не является строкой, сначала оно будет в неё преобразовано).</p>
+
+<p>Одна из особенностей Юникода - возможность считать два разных символа эквивалентными при выполнении сортировки и иных операций, которые основаны на сравнении.</p>
+
+<p>Виды эквивалентности:<br>
+ - первый - каноническая эквивалентность, когда две последовательности code point являются полностью взаимозаменяемыми.</p>
+
+<p>- второй - совместимость - две совместимые последовательности code point выглядят по-разному, но в некоторых случаях они могут быть взаимозаменяемыми.</p>
+
+<p>'æ' взаимозаменяемый 'ae', но они не являются строго эквивалентными, если не провести некоторую нормализацию</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.normalize(<var>[form</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>form</code></dt>
+ <dd>Одно из значений <code>"NFC"</code>, <code>"NFD"</code>, <code>"NFKC"</code> или <code>"NFKD"</code>, определяющих форму нормализации Юникода. Если параметр опущен или равен {{jsxref("Global_Objects/undefined", "undefined")}}, будет использоваться значение <code>"NFC"</code>.
+ <ul>
+ <li><code>NFC</code> —  форма нормализации канонической композицией (Normalization Form Canonical Composition, 'NFC'), по умолчанию;</li>
+ <li><code>NFD</code> — форма нормализации канонической декомпозицией (Normalization Form Canonical Decomposition, 'NFD');</li>
+ <li><code>NFKC</code> — форма нормализации совместимой композицией (Normalization Form Compatibility Composition, 'NFKC');</li>
+ <li><code>NFKD</code> — форма нормализации совместимой декомпозицией (Normalization Form Compatibility Decomposition, 'NFKD').</li>
+ </ul>
+ </dd>
+</dl>
+
+<h3 id="Throws" name="Throws">Выбрасываемые исключения</h3>
+
+<dl>
+ <dt>{{jsxref("Global_Objects/RangeError", "RangeError")}}</dt>
+ <dd>Если параметр <code>form</code> не является одним из вышеперечисленных значений, будет выброшено исключение {{jsxref("Global_Objects/RangeError", "RangeError")}}.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>normalize()</code> возвращает указанную форму нормализации Юникода строки. Он не изменяет значение самой строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_normalize" name="Example:_Using_normalize">Пример: использование метода <code>normalize()</code></h3>
+
+<pre class="brush: js">let valueStr = ['h', 'ĥ', 'æ', 'ae', 'g', 'ġ'],
+    normArr = valueStr.map(function (text) {
+ return text.normalize(); // (по умолчанию 'NFC') normArr (после сортировки) -&gt; [<span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">ae, g, h, æ, ġ, ĥ]</span></span></span></span>
+        //return text.normalize('NFD'); // normArr (после сортировки) -&gt; [<span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">ae, g, ġ, h, ĥ, æ]</span></span></span></span>
+        //return text.normalize('NFKC'); // normArr (после сортировки) -&gt; [<span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">ae, g, h, æ, ġ, ĥ]</span></span></span></span>
+        //return text.normalize('NFKD'); // normArr (после сортировки) -&gt; [<span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">ae, g, ġ, h, ĥ, æ]</span></span></span></span>
+    });
+
+//После приведение строк в нормальную форму, мы можем провести сортировку, массива:
+normArr.sort(function (f,s) {
+    if (f &lt; s) {
+        return -1;
+    } else if (f === s) {
+        return 0;
+    } else {
+        return 1;
+    }
+});
+
+//Приведение к нормальной форме можно выполнить во время сортировки. Нормализацию при этом можно выполнять с помощью разных форм нормализации
+let valueStrNorm = ['h', 's', 'ĥ', 'æ', 'ș', 'ae', 'g', 'ġ'];
+valueStrNorm.sort(function (first, second) {
+    let fN = first.normalize(),
+        sN = second.normalize('NFKC');
+
+    if (fN &lt; sN) {
+        return -1;
+    } else if (fN === sN) {
+        return 0;
+    } else {
+        return 1;
+    }
+});
+
+valueStrNorm.join(', ');//-&gt; <span class="message-body-wrapper"><span class="message-flex-body"><span class="devtools-monospace message-body"><span class="objectBox objectBox-string">ae, g, h, s, æ, ġ, ĥ, ș</span></span></span></span>
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.normalize', 'String.prototype.normalize')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatChrome("34")}}</td>
+ <td>{{CompatGeckoDesktop("31")}}</td>
+ <td>{{CompatIE("11")}} на Windows 10 Preview</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatChrome("34")}}</td>
+ <td>{{CompatNo}}<br>
+ {{bug("864843")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li><a href="http://www.unicode.org/reports/tr15/">Приложение №15 к стандарту Юникода: формы нормализации Юникода</a></li>
+ <li><a href="http://en.wikipedia.org/wiki/Unicode_equivalence">Эквивалентность в Юникоде</a></li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/padend/index.html b/files/ru/web/javascript/reference/global_objects/string/padend/index.html
new file mode 100644
index 0000000000..31da2edad0
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/padend/index.html
@@ -0,0 +1,94 @@
+---
+title: String.prototype.padEnd()
+slug: Web/JavaScript/Reference/Global_Objects/String/padEnd
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/padEnd
+---
+<div>{{JSRef}}{{SeeCompatTable}}</div>
+
+<p>Метод <strong><code>padEnd()</code></strong> дополняет текущую строку с помощью заданной строки (в конечном счете повторяя), так чтобы результирующая строка достигла заданной длины. Дополнение применяется в конце (справа) текущей строки.</p>
+
+<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>Строка указанной длинны дополненная с помощью дополнительной строки в конце текуще строки.</p>
+
+<h2 id="Примеры">Примеры</h2>
+
+<pre class="brush: js">'abc'.padEnd(10); // "abc       "
+'abc'.padEnd(10, "foo"); // "abcfoofoof"
+'abc'.padEnd(6,"123456"); // "abc123"
+</pre>
+
+<h2 id="Характеристики">Характеристики</h2>
+
+<p>Этот метод еще не достиг стандарта ECMAScript. Сейчас он в состоянии <a href="https://github.com/tc39/proposal-string-pad-start-end">proposal for ECMAScript</a>.</p>
+
+<h2 id="Совместимость_с_браузерами">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatUnknown}} </td>
+ <td>{{CompatGeckoDesktop(48)}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Feature</th>
+ <th>Android</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Basic support</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatGeckoMobile(48)}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
diff --git a/files/ru/web/javascript/reference/global_objects/string/padstart/index.html b/files/ru/web/javascript/reference/global_objects/string/padstart/index.html
new file mode 100644
index 0000000000..074516217d
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/padstart/index.html
@@ -0,0 +1,92 @@
+---
+title: String.prototype.padStart()
+slug: Web/JavaScript/Reference/Global_Objects/String/padStart
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/padStart
+---
+<div>{{JSRef}}{{SeeCompatTable}}</div>
+
+<p>Метод <strong><code>padStart()</code></strong> заполняет текущую строку другой строкой (несколько раз, если нужно) так, что итоговая строка достигает заданной длины. Заполнение осуществляется в начале (слева) текущей строки.</p>
+
+<h2 id="Синтаксис">Синтаксис</h2>
+
+<pre class="syntaxbox"><var>str</var>.padStart(<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">'abc'.padStart(10); // "       abc"
+'abc'.padStart(10, "foo"); // "foofoofabc"
+'abc'.padStart(6,"123465"); // "123abc"
+'abc'.padStart(8, "0"); // "00000abc"
+'abc'.padStart(1); // "abc"</pre>
+
+<h2 id="Полифил">Полифил</h2>
+
+<p>Запуск данного кода перед любым другим кодом будет создавать <code>String.prototype.padStart()</code>, если он нативно не поддерживается.</p>
+
+<pre class="brush: js">// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
+// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/padStart
+if (!String.prototype.padStart) {
+    String.prototype.padStart = function padStart(targetLength,padString) {
+        targetLength = targetLength&gt;&gt;0; //floor if number or convert non-number to 0;
+        padString = String(padString || ' ');
+        if (this.length &gt; targetLength) {
+            return String(this);
+        }
+        else {
+            targetLength = targetLength-this.length;
+            if (targetLength &gt; padString.length) {
+                padString += padString.repeat(targetLength/padString.length); //append to original to ensure we are longer than needed
+            }
+            return padString.slice(0,targetLength) + String(this);
+        }
+    };
+}
+</pre>
+
+<h2 id="Спецификации">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Specification</th>
+ <th scope="col">Status</th>
+ <th scope="col">Comment</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-string.prototype.padstart', 'String.prototype.padStart')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td>Initial definition in ECMAScript 2017.</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.padStart")}}</p>
+
+<h2 id="Смотрите_также">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.padEnd()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/prototype/index.html b/files/ru/web/javascript/reference/global_objects/string/prototype/index.html
new file mode 100644
index 0000000000..cecc7325a5
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/prototype/index.html
@@ -0,0 +1,229 @@
+---
+title: String.prototype
+slug: Web/JavaScript/Reference/Global_Objects/String/prototype
+tags:
+ - JavaScript
+ - Property
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Свойство <strong><code>String.prototype</code></strong> представляет прототип объекта {{jsxref("Global_Objects/String", "String")}}.</p>
+
+<div>{{js_property_attributes(0, 0, 0)}}</div>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Все объекты {{jsxref("Global_Objects/String", "String")}} наследуются от <code>String.prototype</code>. Изменения в прототипе объекта {{jsxref("Global_Objects/String", "String")}} распространяются на все его экземпляры.</p>
+
+<h2 id="Properties" name="Properties">Свойства</h2>
+
+<dl>
+ <dt><code>String.prototype.constructor</code></dt>
+ <dd>Определяет функцию, создающую прототип этого объекта.</dd>
+ <dt>{{jsxref("String.prototype.length")}}</dt>
+ <dd>Отражает длину строки.</dd>
+ <dt><code><em>N</em></code></dt>
+ <dd>Используется для доступа к символу в позиции <em>N</em>, где <em>N</em> — это целое число между 0 и длиной строки {{jsxref("String.length", "length")}} минус один. Эти свойства доступны только для чтения.</dd>
+</dl>
+
+<h2 id="Methods" name="Methods">Методы</h2>
+
+<h3 id="Methods_unrelated_to_HTML" name="Methods_unrelated_to_HTML">Методы, не относящиеся к HTML</h3>
+
+<dl>
+ <dt>{{jsxref("String.prototype.charAt()")}}</dt>
+ <dd>Возвращает символ по указанному индексу.</dd>
+ <dt>{{jsxref("String.prototype.charCodeAt()")}}</dt>
+ <dd>Возвращает число, представляющее значение символа в Юникоде по указанному индексу.</dd>
+ <dt>{{jsxref("String.prototype.codePointAt()")}} {{experimental_inline}}</dt>
+ <dd>Возвращает неотрицательное целое число, представляющее закодированную в UTF-16 кодовую точку значения по указанной позиции.</dd>
+ <dt>{{jsxref("String.prototype.concat()")}}</dt>
+ <dd>Объединяет текст двух строк и возвращает новую строку.</dd>
+ <dt>{{jsxref("String.prototype.includes()")}} {{experimental_inline}}</dt>
+ <dd>Определяет, находится ли строка внутри другой строки.</dd>
+ <dt>{{jsxref("String.prototype.endsWith()")}} {{experimental_inline}}</dt>
+ <dd>Определяет, заканчивается ли строка символами другой строки.</dd>
+ <dt>{{jsxref("String.prototype.indexOf()")}}</dt>
+ <dd>Возвращает индекс первого вхождения указанного значения в объекте {{jsxref("Global_Objects/String", "String")}}, на котором был вызван этот метод, или -1, если вхождений нет.</dd>
+ <dt>{{jsxref("String.prototype.lastIndexOf()")}}</dt>
+ <dd>Возвращает индекс последнего вхождения указанного значения в объекте {{jsxref("Global_Objects/String", "String")}}, на котором был вызван этот метод, или -1, если вхождений нет.</dd>
+ <dt>{{jsxref("String.prototype.localeCompare()")}}</dt>
+ <dd>Возвращает число, указывающее, находится ли образцовая строка до, после или на том же самом месте, что и указанная строка в порядке сортировки.</dd>
+ <dt>{{jsxref("String.prototype.match()")}}</dt>
+ <dd>Используется для сопоставления строке регулярного выражения.</dd>
+</dl>
+
+<dl>
+ <dt>{{jsxref("String.prototype.matchAll()")}}</dt>
+ <dd>Возвращает итератор по всем результатам при сопоставлении строки с регулярным выражением.</dd>
+</dl>
+
+<dl>
+ <dt>{{jsxref("String.prototype.normalize()")}} {{experimental_inline}}</dt>
+ <dd>Возвращает форму нормализации Юникода для строкового значения.</dd>
+ <dt><s class="obsoleteElement">{{jsxref("String.prototype.quote()")}} {{obsolete_inline}}</s></dt>
+ <dd><s class="obsoleteElement">Оборачивает строку в двойные кавычки ("<code>"</code>").</s></dd>
+ <dt>{{jsxref("String.prototype.repeat()")}} {{experimental_inline}}</dt>
+ <dd>Возвращает строку. состоящую из элементов объекта, повторённых указанное количество раз.</dd>
+ <dt>{{jsxref("String.prototype.replace()")}}</dt>
+ <dd>Используется для сопоставления строке регулярного выражения и для замены совпавшей подстроки на новую подстроку.</dd>
+ <dt>{{jsxref("String.prototype.search()")}}</dt>
+ <dd>Выполняет поиск совпадения регулярного выражения со строкой.</dd>
+ <dt>{{jsxref("String.prototype.slice()")}}</dt>
+ <dd>Извлекает часть строки и возвращает новую строку.</dd>
+ <dt>{{jsxref("String.prototype.split()")}}</dt>
+ <dd>Разбивает объект {{jsxref("Global_Objects/String", "String")}} на массив строк, разделёных указанной строкой на подстроки.</dd>
+ <dt>{{jsxref("String.prototype.startsWith()")}} {{experimental_inline}}</dt>
+ <dd>Определяет, начинается ли строка символами другой строки.</dd>
+ <dt>{{jsxref("String.prototype.substr()")}}</dt>
+ <dd>Возвращает указанное количество символов в строке, начинающихся с указанной позиции.</dd>
+ <dt>{{jsxref("String.prototype.substring()")}}</dt>
+ <dd>Возвращает символы в строке между двумя индексами.</dd>
+ <dt>{{jsxref("String.prototype.toLocaleLowerCase()")}}</dt>
+ <dd>Приводит символы в строке к нижнему регистру согласно текущей локали. Для большинства языков, метод делает то же самое, что и метод {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}.</dd>
+ <dt>{{jsxref("String.prototype.toLocaleUpperCase()")}}</dt>
+ <dd>Приводит символы в строке к верхнему регистру согласно текущей локали. Для большинства языков, метод делает то же самое, что и метод {{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}.</dd>
+ <dt>{{jsxref("String.prototype.toLowerCase()")}}</dt>
+ <dd>Возвращает строковое значение с символами в нижнем регистре.</dd>
+ <dt>{{jsxref("String.prototype.toSource()")}} {{non-standard_inline}}</dt>
+ <dd>Возвращает литерал объекта, представляющий указанный объект; вы можете использовать это значениедля создания нового объекта. Переопределяет метод {{jsxref("Object.prototype.toSource()")}}.</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.trimLeft()")}} {{non-standard_inline}}</dt>
+ <dd>Обрезает пробельные символы с левой стороны строки.</dd>
+ <dt>{{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}</dt>
+ <dd>Обрезает пробельные символы с правой стороны строки.</dd>
+ <dt>{{jsxref("String.prototype.valueOf()")}}</dt>
+ <dd>Возвращает примитивное значение указанного объекта. Переопределяет метод {{jsxref("Object.prototype.valueOf()")}}.</dd>
+ <dt>{{jsxref("String.prototype.@@iterator()", "String.prototype[@@iterator]()")}} {{experimental_inline}}</dt>
+ <dd>Возвращает новый объект итератора <code>Iterator</code>, который итерируется по кодовым точкам строки и возвращает каждую кодовую точку в виде строкового значения.</dd>
+</dl>
+
+<h3 id="HTML_wrapper_methods" name="HTML_wrapper_methods">Методы-обёртки HTML</h3>
+
+<p>Эти методы имеют ограниченное применение, поскольку они представляют только ограниченное подмножество доступных тегов и атрибутов HTML.</p>
+
+<dl>
+ <dt>{{jsxref("String.prototype.anchor()")}} {{deprecated_inline}}</dt>
+ <dd><code><a href="/ru/docs/Web/HTML/Element/a#attr-name">&lt;a name="<em>имя</em>"&gt;</a></code> (цель гипертекста)</dd>
+ <dt>{{jsxref("String.prototype.big()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("big")}}</dd>
+ <dt>{{jsxref("String.prototype.blink()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("blink")}}</dd>
+ <dt>{{jsxref("String.prototype.bold()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("b")}}</dd>
+ <dt>{{jsxref("String.prototype.fixed()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("tt")}}</dd>
+ <dt>{{jsxref("String.prototype.fontcolor()")}} {{deprecated_inline}}</dt>
+ <dd><a href="/ru/docs/Web/HTML/Element/font#attr-color"><code>&lt;font color="<em>цвет</em>"&gt;</code></a></dd>
+ <dt>{{jsxref("String.prototype.fontsize()")}} {{deprecated_inline}}</dt>
+ <dd><a href="/ru/docs/Web/HTML/Element/font#attr-size"><code>&lt;font size="<em>размер</em>"&gt;</code></a></dd>
+ <dt>{{jsxref("String.prototype.italics()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("i")}}</dd>
+ <dt>{{jsxref("String.prototype.link()")}} {{deprecated_inline}}</dt>
+ <dd><a href="/ru/docs/Web/HTML/Element/a#attr-href"><code>&lt;a href="<em>url</em>"&gt;</code></a> (ссылка на URL)</dd>
+ <dt>{{jsxref("String.prototype.small()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("small")}}</dd>
+ <dt>{{jsxref("String.prototype.strike()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("strike")}}</dd>
+ <dt>{{jsxref("String.prototype.sub()")}} {{deprecated_inline}}}</dt>
+ <dd>{{HTMLElement("sub")}}</dd>
+ <dt>{{jsxref("String.prototype.sup()")}} {{deprecated_inline}}</dt>
+ <dd>{{HTMLElement("sup")}}</dd>
+</dl>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.3.1', 'String.prototype')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype', 'String.prototype')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("Global_Objects/String", "String")}}</li>
+ <li>{{jsxref("Function.prototype")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/quote/index.html b/files/ru/web/javascript/reference/global_objects/string/quote/index.html
new file mode 100644
index 0000000000..367f9f6eb7
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/quote/index.html
@@ -0,0 +1,124 @@
+---
+title: String.prototype.quote()
+slug: Web/JavaScript/Reference/Global_Objects/String/quote
+tags:
+ - JavaScript
+ - Method
+ - Obsolete
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Archive/Web/JavaScript/String.quote
+---
+<div>{{obsolete_header("37")}}</div>
+
+<div>{{JSRef("Global_Objects", "String")}} {{non-standard_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Нестандартный метод <strong><code>quote()</code></strong> возвращает копию строки, заменяя различные специальные символы в строке их управляющими последовательностями и заключая результат в двойные кавычки (<code>"</code>).</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.quote()</code></pre>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<p>В таблице ниже метод <code>quote()</code> заменяет любые специальные символы и заключает строку в двойные кавычки. Также обратите внимание на третью колонку, в которой функция {{jsxref("Global_Objects/eval", "eval()")}} снова вычисляет управляющие последовательности.</p>
+
+<table class="fullwidth-table">
+ <thead>
+ <tr>
+ <th class="header" scope="col"><code>str</code></th>
+ <th class="header" scope="col"><code>str.quote()</code></th>
+ <th class="header" scope="col"><code>eval(str.quote())</code></th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>Hello world!</code></td>
+ <td><code>"Hello world!"</code></td>
+ <td><code>Hello world!</code></td>
+ </tr>
+ <tr>
+ <td><code style="white-space: pre;">Hello<br>
+ world!</code></td>
+ <td><code>"Hello\n\tworld!"</code></td>
+ <td><code style="white-space: pre;">Hello<br>
+ world!</code></td>
+ </tr>
+ <tr>
+ <td><code>" \ — '</code></td>
+ <td><code>"\" \\ \u2014 '"</code></td>
+ <td><code>" \ — '</code></td>
+ </tr>
+ <tr>
+ <td><code>Привет, мир!</code></td>
+ <td><code>"\u041F\u0440\u0438\u0432\u0435\u0442, \u043C\u0438\u0440!"</code></td>
+ <td><code>Привет, мир!</code></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.</p>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("JSON.stringify()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/raw/index.html b/files/ru/web/javascript/reference/global_objects/string/raw/index.html
new file mode 100644
index 0000000000..b6d9477108
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/raw/index.html
@@ -0,0 +1,153 @@
+---
+title: String.raw()
+slug: Web/JavaScript/Reference/Global_Objects/String/raw
+tags:
+ - ECMAScript6
+ - Experimental
+ - Expérimental(2)
+ - JavaScript
+ - Method
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/raw
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Статический метод <strong><code>String.raw()</code></strong> является теговой функцией для <a href="/ru/docs/Web/JavaScript/Reference/template_strings">шаблонных строк</a>; подобно префиксу <code>r</code> в Python или префиксу <code>@</code> в C# для строковых литералов, эта функция используется для получения необработанной строки из шаблона.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code>
+String.raw(<var>callSite</var>, <var>...substitutions</var>)
+
+String.raw`templateString`
+</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>callSite</code></dt>
+ <dd>Правильно сформированный объект вызова, например <code>{ raw: 'string' }</code>.</dd>
+ <dt><code>...substitutions</code></dt>
+ <dd>Значения подстановок.</dd>
+ <dt><code>templateString</code></dt>
+ <dd><a href="/ru/docs/Web/JavaScript/Reference/template_strings">Шаблонная строка</a>, возможно с подстановками (<code>${...}</code>).</dd>
+</dl>
+
+<h3 id="Throws" name="Throws">Выбрасываемые исключения</h3>
+
+<dl>
+ <dt>{{jsxref("Global_Objects/TypeError", "TypeError")}}</dt>
+ <dd>Если первый аргумент не является правильно сформированным объектом вызова, выбрасывается исключение {{jsxref("Global_Objects/TypeError", "TypeError")}}.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>В большинстве случаев метод <code>String.raw()</code> используется вместе с шаблонными строками. Первый синтаксис, показанный выше, используется редко, поскольку движок JavaScript будет вызывать метод с соответствующими аргументами, подобно другим <a href="/ru/docs/Web/JavaScript/Reference/template_strings#Tagged_template_strings">теговым функциям</a>.</p>
+
+<p>Метод <code>String.raw()</code> является единственной встроенной теговой функцией шаблонных строк, выступающей стандартной функцией по объединению их фрагментов. Вы и сами могли бы реализовать подобную функциональность на JavaScript.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_String.raw" name="Example:_String.raw">Пример: использование метода <code>String.raw()</code></h3>
+
+<pre class="brush: js">String.raw`Привет\n${2+3}!`;
+// 'Привет\n5!', символ после 'Привет' не является символом новой строки,
+// '\' и 'n' - это два символа.
+
+String.raw`Привет\u000A!`;
+// 'Привет\u000A!', а здесь мы получим символы
+// \, u, 0, 0, 0, A, всего 6 символов.
+// Экранирующие символы не имеют особого значения и
+// обратные слеши будут присутствовать в выходной строке.
+// Вы можете убедиться в этом, проверив свойство .length строки.
+
+let name = 'Боб';
+String.raw`Привет\n${name}!`;
+// 'Привет\nБоб!', сработала подстановка.
+
+// Обычно вам не нужно вызывать метод String.raw() как функцию,
+// но никто не запрещает вам делать это:
+String.raw({ raw: 'тест' }, 0, 1, 2);
+// 'т0е1с2т'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.raw', 'String.raw')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatGeckoDesktop("34")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatGeckoMobile("34")}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ <td>{{CompatNo}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li><a href="/ru/docs/Web/JavaScript/Reference/template_strings">Шаблонные строки</a></li>
+ <li>{{jsxref("Global_Objects/String", "String")}}</li>
+ <li><a href="/ru/docs/Web/JavaScript/Reference/Lexical_grammar">Лексическая грамматика</a></li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/repeat/index.html b/files/ru/web/javascript/reference/global_objects/string/repeat/index.html
new file mode 100644
index 0000000000..10a6507b6e
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/repeat/index.html
@@ -0,0 +1,124 @@
+---
+title: String.prototype.repeat()
+slug: Web/JavaScript/Reference/Global_Objects/String/repeat
+tags:
+ - ECMAScript 2015
+ - Experimental
+ - Expérimental(2)
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/repeat
+---
+<div>{{JSRef}}</div>
+
+<div>Метод <strong><code>repeat()</code></strong> конструирует и возвращает новую строку, содержащую указанное количество соединённых вместе копий строки, на которой он был вызван.</div>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.repeat(<var>count</var>)</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>count</code></dt>
+ <dd>Целое число от 0 до +∞: [0, +∞), определяющее число повторений строки во вновь создаваемой и возвращаемой строке.</dd>
+</dl>
+
+<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
+
+<p>Новая строка, содержащая указанное количество копий строки, для которой был вызван метод.</p>
+
+<h3 id="Throws" name="Throws">Исключения</h3>
+
+<ul>
+ <li>{{jsxref("Errors/Negative_repetition_count", "RangeError")}}: число повторений не должно быть отрицательным.</li>
+ <li>{{jsxref("Errors/Resulting_string_too_large", "RangeError")}}: число повторений должно быть меньше бесконечности и не должно превышать максимально допустимую длину строки.</li>
+</ul>
+
+<dl>
+</dl>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<pre class="brush: js">'абв'.repeat(-1); // RangeError
+'абв'.repeat(0); // ''
+'абв'.repeat(1); // 'абв'
+'абв'.repeat(2); // 'абвабв'
+'абв'.repeat(3.5); // 'абвабвабв' (количество будет преобразовано в целое число)
+'абв'.repeat(1/0); // RangeError
+
+({ toString: () =&gt; 'абв', repeat: String.prototype.repeat }).repeat(2);
+// 'абвабв' (метод repeat() является обобщённым методом)
+</pre>
+
+<h2 id="Polyfill" name="Polyfill">Полифилл</h2>
+
+<p>Этот метод был добавлен к спецификации ECMAScript 2015 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p>
+
+<pre class="brush: js">if (!String.prototype.repeat) {
+ String.prototype.repeat = function(count) {
+ 'use strict';
+ if (this == null) {
+ throw new TypeError('can\'t convert ' + this + ' to object');
+ }
+ var str = '' + this;
+ count = +count;
+ if (count != count) {
+ count = 0;
+ }
+ if (count &lt; 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 &lt;&lt; 28 символов, так что:
+ if (str.length * count &gt;= 1 &lt;&lt; 28) {
+ throw new RangeError('repeat count must not overflow maximum string size');
+ }
+ var rpt = '';
+ for (var i = 0; i &lt; count; i++) {
+ rpt += str;
+ }
+ return rpt;
+ }
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</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.prototype.repeat', 'String.prototype.repeat')}}</td>
+ <td>{{Spec2('ES2015')}}</td>
+ <td>Изначальное определение.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-string.prototype.repeat', 'String.prototype.repeat')}}</td>
+ <td>{{Spec2('ESDraft')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</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/ru/web/javascript/reference/global_objects/string/replace/index.html b/files/ru/web/javascript/reference/global_objects/string/replace/index.html
new file mode 100644
index 0000000000..debc32cf40
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/replace/index.html
@@ -0,0 +1,289 @@
+---
+title: String.prototype.replace()
+slug: Web/JavaScript/Reference/Global_Objects/String/replace
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+ - регулярные выражения
+translation_of: Web/JavaScript/Reference/Global_Objects/String/replace
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>replace()</code></strong> возвращает новую строку с некоторыми или всеми сопоставлениями с шаблоном, заменёнными на заменитель. Шаблон может быть строкой или {{jsxref("Global_Objects/RegExp", "регулярным выражением", "", 1)}}, а заменитель может быть строкой или функцией, вызываемой при каждом сопоставлении.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.replace(<var>regexp</var>|<var>substr</var>, <var>newSubStr</var>|<var>function</var>[, <var>flags</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>regexp</code></dt>
+ <dd>Объект регулярного выражения {{jsxref("Global_Objects/RegExp", "RegExp")}}. Сопоставление заменяется возвращаемым значением второго параметра.</dd>
+ <dt><code>substr</code></dt>
+ <dd>{{jsxref("Global_Objects/String", "Строка", "", 1)}}, заменяемая на <code>newSubStr</code>. Обратите внимание, будет заменено только первое вхождение искомой строки.</dd>
+ <dt><code>newSubStr</code></dt>
+ <dd>{{jsxref("Global_Objects/String", "Строка", "", 1)}}, заменяющая подстроку из первого параметра. Поддерживает несколько специальных шаблонов замены; смотрите ниже раздел <a href="#Specifying_a_string_as_a_parameter">Передача строки в качестве второго параметра</a>.</dd>
+ <dt><code>function</code></dt>
+ <dd>Функция, вызываемая для создания новой подстроки (помещаемой вместо подстроки из первого параметра). Аргументы, передаваемые функции, описаны ниже в разделе <a href="#Specifying_a_function_as_a_parameter">Передача функции в качестве второго параметра</a>.</dd>
+ <dt><code>flags</code> {{non-standard_inline}}</dt>
+ <dd>
+ <p><strong>Обратите внимание: аргумент <code>flags</code> не работает в ядре v8 (движок JavaScript в Chrome и NodeJs).</strong> Строка, задающая комбинацию <a href="/ru/docs/Web/JavaScript/Guide/Regular_Expressions#Advanced_Searching_With_Flags">флагов регулярного выражения</a>. Параметр <code>flags</code> в методе <code>String.prototype.replace()</code> является нестандартным расширением. Вместо использования этого параметра используйте объект {{jsxref("Global_Objects/RegExp", "RegExp")}} с соответствующими флагами. Значение этого параметра, если он используется, должно быть строкой, состоящей из одного или более следующих символов, следующим образом влияющих на обработку регулярного выражения:</p>
+
+ <dl>
+ <dt><code>g</code></dt>
+ <dd>глобальное сопоставление</dd>
+ <dt><code>i</code></dt>
+ <dd>игнорировать регистр</dd>
+ <dt><code>m</code></dt>
+ <dd>сопоставление по нескольким строкам</dd>
+ <dt><code>y</code> {{experimental_inline}}</dt>
+ <dd>«липкий» поиск, сопоставление начинается с текущей позиции в строке</dd>
+ </dl>
+ </dd>
+</dl>
+
+<h3 id="Returns" name="Returns">Возвращаемое значение</h3>
+
+<p>Новая строка с некоторыми или всеми сопоставлениями шаблона, заменёнными на заменитель.</p>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Этот метод не изменяет объект {{jsxref("Global_Objects/String", "String")}}, на котором он вызывается. Он просто возвращает новую строку.</p>
+
+<p>Для выполнения глобального поиска и замены либо включите флаг <code>g</code> в регулярное выражение, либо, если первый параметр является строкой, включите флаг <code>g</code> в параметр <code>flags</code>.</p>
+
+<h3 id="Specifying_a_string_as_a_parameter" name="Specifying_a_string_as_a_parameter">Передача строки в качестве второго параметра</h3>
+
+<p>строка замены может включать следующие специальные шаблоны замены:</p>
+
+<table class="fullwidth-table">
+ <tbody>
+ <tr>
+ <td class="header">Шаблон</td>
+ <td class="header">Замена</td>
+ </tr>
+ <tr>
+ <td><code>$$</code></td>
+ <td>Вставляет символ доллара «$».</td>
+ </tr>
+ <tr>
+ <td><code>$&amp;</code></td>
+ <td>Вставляет сопоставившуюся подстроку.</td>
+ </tr>
+ <tr>
+ <td><code>$`</code></td>
+ <td>Вставляет часть строки, предшествующую сопоставившейся подстроке.</td>
+ </tr>
+ <tr>
+ <td><code>$'</code></td>
+ <td>Вставляет часть строки, следующую за сопоставившейся подстрокой.</td>
+ </tr>
+ <tr>
+ <td><code>$<em>n</em></code> или <code>$<em>nn</em></code></td>
+ <td>Символы <code><em>n</em></code> или <code><em>nn</em></code> являются десятичными цифрами, вставляет <em>n</em>-ную сопоставившуются подгруппу из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Specifying_a_function_as_a_parameter" name="Specifying_a_function_as_a_parameter">Передача функции в качестве второго параметра</h3>
+
+<p>В качестве второго параметра вы можете передать функцию. В этом случае функция будет выполнена после произошедшего сопоставления. Результат вызова функции (её возвращаемое значение) будет использоваться в качестве строки замены (обратите внимание: описанные выше специальные шаблоны замены в этом случае <em>не</em> применяются). Обратите внимание, что функция будет вызвана несколько раз для каждого полного сопоставления, если регулярное выражение в первом параметре является глобальным.</p>
+
+<p>Функция принимает следующие аргументы:</p>
+
+<table class="fullwidth-table">
+ <tbody>
+ <tr>
+ <td class="header">Возможное имя</td>
+ <td class="header">Получаемое значение</td>
+ </tr>
+ <tr>
+ <td><code>match</code></td>
+ <td>Сопоставившаяся подстрока (cоответствует шаблону замены <code>$&amp;</code>, описанному выше).</td>
+ </tr>
+ <tr>
+ <td><code>p1, p2, ...</code></td>
+ <td><em>n</em>-ная сопоставившаяся подгруппа из объекта {{jsxref("Global_Objects/RegExp", "RegExp")}} в первом параметре метода <code>replace()</code> (cоответствует шаблонам замены <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>'abcd'</code>, а сопоставившаяся подстрока равна <code>'bc'</code>, то этот аргумент будет равен 1).</td>
+ </tr>
+ <tr>
+ <td><code>string</code></td>
+ <td>Вся рассматриваемая строка.</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>Точное число аргументов будет зависеть от того, был ли первым аргументом объект {{jsxref("Global_Objects/RegExp", "RegExp")}} и, если был, сколько подгрупп в нём определено.</p>
+
+<p>Следующий пример установит переменную <code>newString</code> в значение <code>'abc - 12345 - #$*%'</code>:</p>
+
+<pre class="brush: js">function replacer(match, p1, p2, p3, offset, string) {
+ // p1 - не цифры, p2 - цифры, p3 - не буквы и не цифры
+ return [p1, p2, p3].join(' - ');
+}
+var newString = 'abc12345#$*%'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);
+</pre>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_global_and_ignore_with_replace" name="Example:_Using_global_and_ignore_with_replace">Пример: использование флагов <code>global</code> и <code>ignore</code> с методом <code>replace()</code></h3>
+
+<p>В следующем примере регулярное выражение включает флаги для глобального поиска и игнорирования регистра, которые позволяют методу <code>replace()</code> заменить все вхождения слова «яблоки» в строке на слово «апельсины».</p>
+
+<pre class="brush: js">var re = /яблоки/gi;
+var str = 'Яблоки круглые и яблоки сочные.';
+var newstr = str.replace(re, 'апельсины');
+console.log(newstr); // апельсины круглые и апельсины сочные.
+</pre>
+
+<h3 id="Example_Defining_the_regular_expression_in_replace" name="Example:_Defining_the_regular_expression_in_replace">Пример: передача регулярного выражения в метод <code>replace()</code></h3>
+
+<p>В следующем примере в метод <code>replace()</code> передаётся регулярное выражение вместе с флагом игнорирования регистра.</p>
+
+<pre class="brush: js">// Ночь перед Рождеством, Xmas - сокращение для Christmas
+var str = 'Twas the night before Xmas...';
+var newstr = str.replace(/xmas/i, 'Christmas');
+console.log(newstr); // Twas the night before Christmas...
+</pre>
+
+<p>Пример выведет строку 'Twas the night before Christmas...'</p>
+
+<h3 id="Example_Switching_words_in_a_string" name="Example:_Switching_words_in_a_string">Пример: смена местами слов в строке</h3>
+
+<p>Следующий скрипт меняет местами слова в строке. В качестве текста замены он использует шаблоны замены <code>$1</code> и <code>$2</code>.</p>
+
+<pre class="brush: js">var re = /([А-ЯЁа-яё]+)\s([А-ЯЁа-яё]+)/;
+var str = 'Джон Смит';
+var newstr = str.replace(re, '$2, $1');
+console.log(newstr); // Смит, Джон
+</pre>
+
+<p>Пример выведет строку 'Смит, Джон'.</p>
+
+<h3 id="Example_Using_an_inline_function_that_modifies_the_matched_characters" name="Example:_Using_an_inline_function_that_modifies_the_matched_characters">Пример: использование функции для изменения сопоставившихся символов</h3>
+
+<p>В этом примере все входящие в строку (латинские) буквы в верхнем регистре преобразуются в нижний регистр, а перед самой буквой вставляется дефис. Здесь важно то, что прежде чем элемент вставится в качестве замены, над ним нужно провести дополнительные преобразования.</p>
+
+<p>Функция замены своим параметром принимает сопоставившийся кусок и перед возвратом использует его для преобразования регистра и соединения с дефисом.</p>
+
+<pre class="brush: js">function styleHyphenFormat(propertyName) {
+ function upperToHyphenLower(match) {
+ return '-' + match.toLowerCase();
+ }
+ return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
+}
+</pre>
+
+<p>Вызов <code>styleHyphenFormat('borderTop')</code> вернёт строку 'border-top'.</p>
+
+<p>Поскольку мы хотим провести дополнительные преобразования <em>результата</em> сопоставления до того, как будет использована окончательная подстановка, мы должны использовать функцию. Это заставляет нас принудительно вычислить сопоставление перед использование метода {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}. Если бы мы попытались использовать сопоставление без функции, метод {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}} не сработал бы.</p>
+
+<pre class="brush: js">var newString = propertyName.replace(/[A-Z]/g, '-' + '$&amp;'.toLowerCase()); // не работает
+</pre>
+
+<p>Происходит это потому, что сначала часть <code>'$&amp;'.toLowerCase()</code> вычисляется в строковый литерал (результат по-прежнему равен <code>'$&amp;'</code>), а только потом его символы используются в качестве шаблона.</p>
+
+<h3 id="Example_Replacing_a_Fahrenheit_degree_with_its_Celsius_equivalent" name="Example:_Replacing_a_Fahrenheit_degree_with_its_Celsius_equivalent">Пример: замена градусов по Фаренгейту на эквивалент в градусах по Цельсию</h3>
+
+<p>В следующем примере градусы по Фаренгейту заменяются на эквивалентные градусы по Цельсию. Градусы по Фаренгейту должны быть числом, оканчивающимся на букву F. Функция возвращает количество градусов по Цельсию, оканчивающиеся на букву C. Например, если входное число равняется 212F, функция вернёт 100C. Если число равняется 0F, функция вернёт -17.77777777777778C.</p>
+
+<p>Регулярное выражение <code>test</code> сопоставляется с любым числом, оканчивающимся на букву F. Количество градусов по Фаренгейту передаётся в функцию через её второй параметр, <code>p1</code>. Функция переводит градусы по Фаренгейту, переданные в виде строки в функцию code&gt;f2c(), в градусы по Цельсию. Затем функция <code>f2c()</code> возвращает количество градусов по Цельсию. Эта функция работает примерно так же, как и флаг <code>s///e</code> в Perl.</p>
+
+<pre class="brush: js">function f2c(x) {
+ function convert(str, p1, offset, s) {
+ return ((p1 - 32) * 5/9) + 'C';
+ }
+ var s = String(x);
+ var test = /(\d+(?:\.\d*)?)F\b/g;
+ return s.replace(test, convert);
+}
+</pre>
+
+<h3 id="Example_Use_an_inline_function_with_a_regular_expression_to_avoid_for_loops" name="Example: Use an inline function with a regular expression to avoid for loops">Пример: использование функции вместе с регулярным выражением для избавления от цикла <code>for</code></h3>
+
+<p>Следующий пример принимает строку шаблона и преобразует её в массив объектов.</p>
+
+<p><strong>Входные данные:</strong></p>
+
+<p>Строка, состоящая из символов <code>x</code>, <code>-</code> и <code>_</code></p>
+
+<pre>x-x_
+x---x---x---x---
+x-xxx-xx-x-
+x_x_x___x___x___
+</pre>
+
+<p><strong>Выходные данные:</strong></p>
+
+<p>Массив объектов. Символ <code>'x'</code> означает состояние <code>'on'</code>, символ <code>'-'</code> (дефис) означает состояние <code>'off'</code>, а символ <code>'_'</code> (нижнее подчёркивание) означает продолжительность состояния <code>'on'</code>.</p>
+
+<pre class="brush: json">[
+ { on: true, length: 1 },
+ { on: false, length: 1 },
+ { on: true, length: 2 }
+ ...
+]
+</pre>
+
+<p><strong>Код:</strong></p>
+
+<pre class="brush: js">var str = 'x-x_';
+var retArr = [];
+str.replace(/(x_*)|(-)/g, function(match, p1, p2) {
+ if (p1) { retArr.push({ on: true, length: p1.length }); }
+ if (p2) { retArr.push({ on: false, length: 1 }); }
+});
+
+console.log(retArr);
+</pre>
+
+<p>Этот код сгенерирует массив из трёх объектов в описанном формате без использования цикла <code>for</code>.</p>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.11', 'String.prototype.replace')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.replace', 'String.prototype.replace')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{Compat("javascript.builtins.String.replace")}}</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.match()")}}</li>
+ <li>{{jsxref("RegExp.prototype.exec()")}}</li>
+ <li>{{jsxref("RegExp.prototype.test()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html
new file mode 100644
index 0000000000..f938fefb64
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/replaceall/index.html
@@ -0,0 +1,167 @@
+---
+title: String.prototype.replaceAll()
+slug: Web/JavaScript/Reference/Global_Objects/String/replaceAll
+translation_of: Web/JavaScript/Reference/Global_Objects/String/replaceAll
+---
+<div>{{JSRef}}</div>
+
+<p><span class="seoSummary">Метод <strong><code>replaceAll()</code></strong> возвращает новую строку со всеми совпадениями <code>pattern</code> , который меняется на <code>replacement</code>. </span><code>pattern</code> может быть строкой или регулярным выражением, и <code>replacement</code> может быть строкой или функция возвращающая каждое совпадение.</p>
+
+<p>Исходная строка остается без изменений.</p>
+
+<div>{{EmbedInteractiveExample("pages/js/string-replaceall.html")}}</div>
+
+<p class="hidden">Исходник этого интерактивного примера находится в GitHub репозитории. Если бы вы хотели внести свой вклад в создание интерактивных примеров для проекта, пожалуйста клонируйте ссылку <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> и отпрвате нам pull request.</p>
+
+<h2 id="Syntax">Syntax</h2>
+
+<pre class="syntaxbox notranslate">const newStr = <var>str</var>.replaceAll(<var>regexp</var>|<var>substr</var>, <var>newSubstr</var>|<var>function</var>)
+</pre>
+
+<div class="blockIndicator note">
+<p>Когда вы используете `<var>regexp</var>` вы должны установить флаг глобального поиска ("g"), иначе вернется ошибка <code>TypeError</code>: "replaceAll must be called with a global RegExp".</p>
+</div>
+
+<h3 id="Parameters">Parameters</h3>
+
+<dl>
+ <dt><code><var>regexp</var></code> (pattern)</dt>
+ <dd>Регулярное выражение или буква с глобальным флагом поиска ("g"). Совпадения меняются на <code><var>newSubstr</var></code> или значени возвращенное указанной функцией <code><var>function</var></code>. A RegExp без глобального флага поиска ("g") вернет ошибку <code>TypeError</code>: "replaceAll must be called with a global RegExp".</dd>
+ <dt><code><var>substr</var></code></dt>
+ <dd>Подстрока, которая заменится <code><var>newSubstr</var></code>. Обрабатывается как буквенная строка, не интерпретируется как регулярное выражение.</dd>
+ <dt><code><var>newSubstr</var></code> (replacement)</dt>
+ <dd>Новая строка, которая заменяет найденные подстроки указанные в <code><var>regexp</var></code> или <code><var>substr</var></code> парамерах. Поддерживается ряд специальных шаблонов замены; смотрите "<a href="#Specifying_a_string_as_a_parameter">Specifying a string as a parameter</a>" блок ниже.</dd>
+ <dt><code><var>function</var></code> (replacement)</dt>
+ <dd>Функция вызванная при создании новой строки которая используется для замены совпадений указанных в <code><var>regexp</var></code> or <code><var>substr</var></code>. Аргументы применяемы в этой функции описываются в "<a href="#Specifying_a_function_as_a_parameter">Specifying a function as a parameter</a>" блок ниже.</dd>
+</dl>
+
+<h3 id="Return_value">Return value</h3>
+
+<p>Новая строка, в которой все совпадения замены на уазанную подстроку или специальный шаблон.</p>
+
+<h2 id="Описание">Описание</h2>
+
+<p>Этот метод не изменяет исходную строку. Он просто возвращает новую.</p>
+
+<h3 id="Указание_строки_в_качестве_параметра">Указание строки в качестве параметра</h3>
+
+<p>Замененная строка может включатся в следующие специальные шаблоны:</p>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th class="header" scope="col">Pattern</th>
+ <th class="header" scope="col">Inserts</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>$$</code></td>
+ <td>Вставляет <code>"$"</code>.</td>
+ </tr>
+ <tr>
+ <td><code>$&amp;</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>th строки указанные в скобках, частичные совпадения, при условии, что первый аргумент был {{jsxref("RegExp")}} object. Обратите внимание, что это 1-индексированный.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h3 id="Указание_функции_в_качестве_параметра">Указание функции в качестве параметра</h3>
+
+<p>Вы можете передать функцию вторым параметром. Вэтом случае, функция вызывается полсе нахождения совпадений. Результат функции может быть использованна как замещающая строка. (<strong>Внимание:</strong> Выше упомянутые специальные шаблоны замены в данном случае неприменимы.)</p>
+
+<p>Функция может быть вызвана многократно для каждого замененного совпадения, если регудярное выражение указано с глобальным влагом("g").</p>
+
+<p>Функция имеет следующие аргументы:</p>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th class="header" scope="col">Possible name</th>
+ <th class="header" scope="col">Supplied value</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td><code>match</code></td>
+ <td>Найденная построка. (Соответствуетt <code>$&amp;</code> указанному выше)</td>
+ </tr>
+ <tr>
+ <td><code>p1, p2, ...</code></td>
+ <td><var>n</var>th количество строк найденых групповыми скобками указанные первым параметром в регулярном выражении. (Соответствует  <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>Смещение совпадающей подстроки в пределах всей исследуемой строки. (Например, если вся строка была 'abcd', а соответствующая подстрока была 'bc', то этот аргумент будет равен 1.)</td>
+ </tr>
+ <tr>
+ <td><code>string</code></td>
+ <td>Исследуется вся цепочка.</td>
+ </tr>
+ </tbody>
+</table>
+
+<p>(Точное количество аргументов зависит от того, является ли первый аргумент регулярным выражением — и, если да, то аргументов будет столько сколько указанно в скобках.)</p>
+
+<h2 id="Examples">Examples</h2>
+
+<h3 id="Using_replaceAll">Using replaceAll</h3>
+
+<pre class="brush: js notranslate">'aabbcc'.replaceAll('b', '.');
+// 'aa..cc'</pre>
+
+<h3 id="Non-global_regex_throws">Non-global regex throws</h3>
+
+<p>Поиск с регулярными выражениями должен быть с ("g"). Это не работает:</p>
+
+<pre class="brush: js; example-bad notranslate">'aabbcc'.replaceAll(/b/, '.');
+TypeError: replaceAll must be called with a global RegExp
+</pre>
+
+<p>Это работает:</p>
+
+<pre class="brush: js; example-good notranslate">'aabbcc'.replaceAll(/b/g, '.');
+"aa..cc"
+</pre>
+
+<h2 id="Specifications">Specifications</h2>
+
+<table class="standard-table">
+ <thead>
+ <tr>
+ <th scope="col">Specification</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>{{SpecName('ESDraft', '#sec-string.prototype.replaceall', 'String.prototype.replaceAll')}}</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility">Browser compatibility</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="See_also">See also</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/ru/web/javascript/reference/global_objects/string/search/index.html b/files/ru/web/javascript/reference/global_objects/string/search/index.html
new file mode 100644
index 0000000000..7900ac98a0
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/search/index.html
@@ -0,0 +1,149 @@
+---
+title: String.prototype.search()
+slug: Web/JavaScript/Reference/Global_Objects/String/search
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+ - регулярные выражения
+translation_of: Web/JavaScript/Reference/Global_Objects/String/search
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>search()</code></strong> выполняет поиск сопоставления между регулярным выражением и этим объектом {{jsxref("Global_Objects/String", "String")}}.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><var>str</var>.search([<var>regexp</var>])</pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>regexp</code></dt>
+ <dd>Необязательный параметр. Объект регулярного выражения. Если будет передан не объект регулярного выражения, он будет неявно преобразован в объект {{jsxref("Global_Objects/RegExp", "RegExp")}} через вызов конструктора <code>new RegExp(regexp)</code>.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>При успехе метод <code>search()</code> возвращает индекс первого сопоставления с регулярным выражением внутри строки. В противном случае метод вернёт -1.</p>
+
+<p>Если вы хотите узнать, находится ли шаблон в строке, используйте метод <code>search()</code> (он работает почти так же, как и метод {{jsxref("RegExp.prototype.test()", "test()")}} регулярного выражения, но вместо наличия подстроки возвращает её индекс); для получения дополнительной информации (за счёт более медленного выполнения) используйте метод {{jsxref("String.prototype.match()", "match()")}} (работает так же, как метод {{jsxref("RegExp.prototype.exec()", "exec()")}} регулярного выражения).</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_search" name="Example:_Using_search">Пример: использование метода <code>search()</code></h3>
+
+<p>В следующем примере в журнал попадает сообщение, зависящее от успешности или неуспешности прохождения проверки.</p>
+
+<pre class="brush: js">function testInput(re, str) {
+ var midstring;
+ if (str.search(re) != -1) {
+ midstring = ' содержит ';
+ } else {
+ midstring = ' не содержит ';
+ }
+ console.log(str + midstring + re);
+}
+
+var testString = 'hey JuDe';
+var re = /[A-Z]/g;
+
+testInput(re, testString); // выведет: hey Jude содержит /[A-Z]/g
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</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>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h3 id="Gecko-specific_notes" name="Gecko-specific_notes">Примечания по Gecko</h3>
+
+<ul>
+ <li>До версии {{Gecko("8.0")}}, метод <code>search()</code> был реализован неправильно; при вызове без параметров или с параметром {{jsxref("Global_Objects/undefined", "undefined")}}, он сопоставлялся строке 'undefined', вместо пустой строки. Это было исправлено; теперь и вызов <code>'a'.search()</code>, и вызов <code>'a'.search(undefined)</code> корректно возвращают 0.</li>
+</ul>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.match()")}}</li>
+ <li>{{jsxref("RegExp.prototype.exec()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/slice/index.html b/files/ru/web/javascript/reference/global_objects/string/slice/index.html
new file mode 100644
index 0000000000..5b6f3895c4
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/slice/index.html
@@ -0,0 +1,173 @@
+---
+title: String.prototype.slice()
+slug: Web/JavaScript/Reference/Global_Objects/String/slice
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/slice
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>slice()</code></strong> извлекает часть строки и возвращает новую строку без изменения оригинальной строки.</p>
+
+<p>{{EmbedInteractiveExample("pages/js/string-slice.html", "taller")}}</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><var>str</var>.slice(<var>beginIndex</var>[, <var>endIndex</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><em><code>beginIndex</code></em></dt>
+ <dd>Индекс, с которого начинать извлечение (нумерация начинается с нуля). Если аргумент отрицателен, то трактуется как <code><em>str</em>.length + <em>beginIndex</em></code> (например, если <em><code>beginIndex</code></em> равен <code>-3</code>, то он трактуется как <code><em>str</em>.length - 3</code>). Если <em><code>beginIndex</code></em>  не является числом при проверке {{jsxref('Number', 'Number(<var>beginIndex</var>)')}}, он трактуется как <code>0</code>.</dd>
+ <dd>Если <code><em>beginIndex</em></code> больше или равен <code><em>str</em>.length</code>, возвращается пустая строка.</dd>
+ <dt><em><code>endIndex</code></em></dt>
+ <dd>Индекс, <em>перед</em> которым заканчивать извлечение (нумерация начинается с нуля). Символ по этому индексу не будет включён.</dd>
+ <dd>Если <em><code>endIndex</code> </em>опущен или является <code>undefined</code> или больше чем <code><em>str</em>.length</code>, <code>slice()</code> извлечёт всё до конца строки. Если аргумент отрицателен, то трактуется как <code><em>str</em>.length + <em>endIndex</em></code><em> </em>(например, если <em><code>endIndex</code></em> равен <code>-3</code>, то он трактуется как <code><em>str</em>.length - 3</code>). Если аргумент не <code>undefined</code> и не является числом при проверке {{jsxref('Number', 'Number(<var>endIndex</var>)')}}, возвращается пустая строка.</dd>
+ <dd>Если <em><code>endIndex</code></em> указан и меньше <em><code>startIndex</code></em>, то возвращается пустая строка (например, <code>slice(-1, -3)</code> или <code>slice(3, 1)</code> вернут <code>""</code>).</dd>
+</dl>
+
+<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
+
+<p>Новая строка, содержащая извлеченную часть строки.</p>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>slice()</code> извлекает текст из одной строки и возвращает новую строку. Изменения текста в одной строке не влияют на другую строку.</p>
+
+<p>Метод <code>slice()</code> извлекает все символы до индекса <em><code>endIndex</code></em>, не включая сам этот индекс. Вызов <code><em>str</em>.slice(1, 4)</code> извлечёт символы со второго по четвёртый (символы под индексами <code>1</code>, <code>2</code> и <code>3</code>).</p>
+
+<p>К примеру, вызов <code>str.slice(2, -1)</code> извлечёт символы с третьего по второй с конца строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_slice_to_create_a_new_string" name="Example:_Using_slice_to_create_a_new_string">Пример: использование метода <code>slice()</code> для создания новой строки</h3>
+
+<p>В следующем примере метод <code>slice()</code> используется для создания новой строки.</p>
+
+<pre class="brush: js notranslate">let str1 = 'Приближается утро.';
+let str2 = str1.slice(1, 8);
+let str3 = str1.slice(4, -2);
+let str4 = str1.slice(12);
+let str5 = str1.slice(30);
+
+console.log(str2); // ВЫВОД: риближа
+console.log(str3); // ВЫВОД: лижается утр
+console.log(str4); // ВЫВОД:  утро.
+console.log(str5); // ВЫВОД: ""
+</pre>
+
+<h3 id="Example_Using_slice_with_negative_indexes" name="Example:_Using_slice_with_negative_indexes">Пример: использование метода <code>slice()</code> с отрицательными индексами</h3>
+
+<p>В следующем примере метод <code>slice()</code> используется вместе с отрицательными индексами.</p>
+
+<pre class="brush: js notranslate">let str = 'Приближается утро.';
+str.slice(-3); // вернёт 'ро.'
+str.slice(-3, -1); // вернёт 'ро'
+str.slice(0, -1); // вернёт 'Приближается утро'
+</pre>
+
+<p>В этом примере начальным индексом считается <code>11</code>-й символ с конца строки, а конечным - <code>16</code>-й с начала.</p>
+
+<pre class="brush: js notranslate">str.slice(-11, 16); // вернет 'ается утр'</pre>
+
+<p>Здесь начальным индексом считается <code>6</code>-й символ от начала строки, а конечным - <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">7</span></font>-й с конца.</p>
+
+<pre class="brush: js notranslate">str.slice(6, -7); // вернет 'жаетс'</pre>
+
+<p>В этом примере оба индекса считаются с конца строки: <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">5</span></font>-й для начального индекса, <code>1</code>-й для конечного.</p>
+
+<pre class="brush: js notranslate">str.slice(-5, -1); // вернет 'утро'</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.13', 'String.prototype.slice')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.slice', 'String.prototype.slice')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/small/index.html b/files/ru/web/javascript/reference/global_objects/string/small/index.html
new file mode 100644
index 0000000000..00fd79119f
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/small/index.html
@@ -0,0 +1,109 @@
+---
+title: String.prototype.small()
+slug: Web/JavaScript/Reference/Global_Objects/String/small
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/small
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>small()</code></strong> создаёт HTML-элемент {{HTMLElement("small")}}, заставляющий строку отображаться маленьким шрифтом.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.small()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>small()</code> заключает строку в тег <code>&lt;small&gt;</code>: <code>"&lt;small&gt;str&lt;/small&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_small" name="Example:_Using_small">Пример: использование метода <code>small()</code></h3>
+<p>В следующем примере демонстрируется использование нескольких строковых методов для изменения размера строки:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+console.log(worldString.small()); // &lt;small&gt;Привет, мир&lt;/small&gt;
+console.log(worldString.big()); // &lt;big&gt;Привет, мир&lt;/big&gt;
+console.log(worldString.fontsize(7)); // &lt;fontsize=7&gt;Привет, мир&lt;/fontsize&gt;
+</pre>
+<p>При помощи объекта {{domxref("HTMLElement.style", "element.style")}} вы можете получить значение атрибута <code>style</code> элемента и управлять им более обобщённым способом, например:</p>
+<pre class="brush: js">document.getElementById('yourElemId').style.fontSize = '0.7em';
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.small', 'String.prototype.small')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.fontsize()")}}</li>
+ <li>{{jsxref("String.prototype.big()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/split/index.html b/files/ru/web/javascript/reference/global_objects/string/split/index.html
new file mode 100644
index 0000000000..90f94de449
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/split/index.html
@@ -0,0 +1,229 @@
+---
+title: String.prototype.split()
+slug: Web/JavaScript/Reference/Global_Objects/String/split
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+ - регулярные выражения
+translation_of: Web/JavaScript/Reference/Global_Objects/String/split
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>split()</code></strong> разбивает объект {{jsxref("Global_Objects/String", "String")}} на массив строк путём разделения строки указанной подстрокой.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><var>str</var>.split([<var>separator</var>[, <var>limit</var>]])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>separator</code></dt>
+ <dd>Необязательный параметр. Указывает символы, используемые в качестве разделителя внутри строки. Параметр <code>separator</code> может быть как строкой, так и {{jsxref("Global_Objects/RegExp", "регулярным выражением", "", 1)}}. Если параметр опущен, возвращённый массив будет содержать один элемент со всей строкой. Если параметр равен пустой строке, строка <code>str</code> будет преобразована в массив символов.</dd>
+ <dt><code>limit</code></dt>
+ <dd>Необязательный параметр. Целое число, определяющее ограничение на количество найденных подстрок. Метод <code>split()</code> всё равно разделяет строку на каждом сопоставлении с разделителем <code>separator</code>, но обрезает возвращаемый массив так, чтобы он содержал не более <code>limit</code> элементов.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>split()</code> возвращает новый массив.</p>
+
+<p>Если разделитель <code>separator</code> найден, он удаляется из строки, а подстроки возвращаются в массиве. Если разделитель опущен, массив будет содержать только один элемент, состоящий из всей строки. Если разделитель является пустой строкой, строка <code>str</code> будет преобразована в массив символов.</p>
+
+<p>Если разделитель является регулярным выражением, содержащим подгруппы, то каждый раз при сопоставлении с разделителем, результаты (включая те, что не определены) захвата подгруппы будут помещаться внутрь выходного массива. Однако, не все браузеры поддерживают эту возможность.</p>
+
+<p>{{Note("Если строка является пустой строкой, метод <code>split()</code> вернёт массив, состоящий из одной пустой строки, а не пустой массив.")}}</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_split" name="Example:_Using_split">Пример: использование метода <code>split()</code></h3>
+
+<p>В следующем примере определяется функция, которая разбивает строку на массив строк, используя указанный разделитель. После разбиения строки, функция отображает сообщения, показывающие оригинальную строку (до разбиения), используемый разделитель, количество элементов в массиве и сами эти элементы.</p>
+
+<pre class="brush: js notranslate">function splitString(stringToSplit, separator) {
+ var arrayOfStrings = stringToSplit.split(separator);
+
+ console.log('Оригинальная строка: "' + stringToSplit + '"');
+ console.log('Разделитель: "' + separator + '"');
+ console.log('Массив содержит ' + arrayOfStrings.length + ' элементов: ' + arrayOfStrings.join(' / '));
+}
+
+// Строчка из «Бури» Шекспира. Перевод Миxаила Донского.
+var tempestString = 'И как хорош тот новый мир, где есть такие люди!';
+var monthString = 'Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек';
+
+var space = ' ';
+var comma = ',';
+
+splitString(tempestString, space);
+splitString(tempestString);
+splitString(monthString, comma);
+</pre>
+
+<p>Пример сгенерирует следующий вывод:</p>
+
+<pre class="notranslate">Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+Разделитель: " "
+Массив содержит 10 элементов: И / как / хорош / тот / новый / мир, / где / есть / такие / люди!
+
+Оригинальная строка: "И как хорош тот новый мир, где есть такие люди!"
+Разделитель: "undefined"
+Массив содержит 1 элементов: И как хорош тот новый мир, где есть такие люди!
+
+Оригинальная строка: "Янв,Фев,Мар,Апр,Май,Июн,Июл,Авг,Сен,Окт,Ноя,Дек"
+Разделитель: ","
+Массив содержит 12 элементов: Янв / Фев / Мар / Апр / Май / Июн / Июл / Авг / Сен / Окт / Ноя / Дек
+</pre>
+
+<h3 id="Example_Removing_spaces_from_a_string" name="Example:_Removing_spaces_from_a_string">Пример: удаление пробелов из строки</h3>
+
+<p>В следующем примере метод <code>split()</code> ищет 0 или более пробелов, за которыми следует точка с запятой, за которой снова следуют 0 или более пробелов, и, если этот шаблон найден, удаляет пробелы из строки. Переменная <code>nameList</code> является массивом, возвращённым в результате работы метода <code>split()</code>.</p>
+
+<pre class="brush: js notranslate">var names = 'Гарри Трамп ;Фрэд Барни; Хелен Ригби ; Билл Абель ;Крис Ханд ';
+
+console.log(names);
+
+var re = /\s*;\s*/;
+var nameList = names.split(re);
+
+console.log(nameList);
+</pre>
+
+<p>Пример напечатает две строки; на первой строке напечатана оригинальная строчка, а на второй — получившийся массив.</p>
+
+<pre class="notranslate">Гарри Трамп ;Фред Барни; Хелен Ригби ; Билл Абель ;Крис Ханд
+Гарри Трамп,Фред Барни,Хелен Ригби,Билл Абель,Крис Ханд
+</pre>
+
+<h3 id="Example_Returning_a_limited_number_of_splits" name="Example:_Returning_a_limited_number_of_splits">Пример: возврат ограниченного числа подстрок</h3>
+
+<p>В следующем примере метод <code>split()</code> ищет 0 или более пробелов в строке и возвращает первые три найденных подстроки.</p>
+
+<pre class="brush: js notranslate">var myString = 'Привет, мир. Как дела?';
+var splits = myString.split(' ', 3);
+
+console.log(splits);
+</pre>
+
+<p>Вывод скрипта будет следующим:</p>
+
+<pre class="brush: js notranslate">Привет,,мир.,Как
+</pre>
+
+<h3 id="Example_Capturing_parentheses" name="Example:_Capturing_parentheses">Пример: захват подгрупп</h3>
+
+<p>Если параметр <code>separator</code> содержит подгруппы, сопоставившиеся результаты также будут присутствовать в возвращённом массиве.</p>
+
+<pre class="brush: js notranslate">var myString = 'Привет 1 мир. Предложение номер 2.';
+var splits = myString.split(/(\d)/);
+
+console.log(splits);
+</pre>
+
+<p>Вывод скрипта будет следующим:</p>
+
+<pre class="brush: js notranslate">Привет ,1, мир. Предложение номер ,2,.
+</pre>
+
+<h3 id="Example_Reversing_a_String_using_split" name="Example:_Reversing_a_String_using_split">Пример: обращение строки при помощи метода <code>split()</code></h3>
+
+<pre class="brush: js notranslate">var str = 'фывапролд';
+var strReverse = str.split('').reverse().join(''); // 'длорпавыф'
+// split() возвращает массив, к которому применяются методы reverse() и join()
+</pre>
+
+<p><strong>Бонус:</strong> используя оператор {{jsxref("Operators/Comparison_Operators", "===", "#Identity_.2F_strict_equality_(.3D.3D.3D)")}}, можно проверить, являлась ли строка палиндромом.</p>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.1.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.14', 'String.prototype.split')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td></td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.split', 'String.prototype.split')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td></td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/startswith/index.html b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html
new file mode 100644
index 0000000000..d9228e2925
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/startswith/index.html
@@ -0,0 +1,81 @@
+---
+title: String.prototype.startsWith()
+slug: Web/JavaScript/Reference/Global_Objects/String/startsWith
+tags:
+ - ECMAScript6
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/startsWith
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>startsWith()</code></strong> помогает определить, начинается ли строка с символов указаных в скобках, возвращая, соответственно, <code>true</code> или <code>false</code>.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox notranslate"><code><var>str</var>.startsWith(<var>searchString</var>[, <var>position</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>searchString</code></dt>
+ <dd>Символы, искомые в начале данной строки.</dd>
+ <dt><code>position</code></dt>
+ <dd>Необязательный параметр. Позиция в строке, с которой начинать поиск  <code>searchString</code>; по умолчанию 0.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Этот метод позволяет определять, начинается ли строка с указанных в скобках символов.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_startsWith" name="Example:_Using_startsWith">Пример: использование метода <code>startsWith()</code></h3>
+
+<pre class="brush: js notranslate">var str = 'Быть или не быть, вот в чём вопрос.';
+
+console.log(str.startsWith('Быть')); // true
+console.log(str.startsWith('не быть')); // false
+console.log(str.startsWith('не быть', 9)); // true
+</pre>
+
+<h2 id="Polyfill" name="Polyfill">Полифилл</h2>
+
+<p>Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:</p>
+
+<pre class="brush: js notranslate">if (!String.prototype.startsWith) {
+ Object.defineProperty(String.prototype, 'startsWith', {
+ enumerable: false,
+ configurable: false,
+ writable: false,
+ value: function(searchString, position) {
+ position = position || 0;
+ return this.indexOf(searchString, position) === position;
+ }
+ });
+}
+</pre>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div class="hidden">
+<p>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>
+</div>
+
+<p>{{Compat("javascript.builtins.String.startsWith")}}</p>
+
+<div id="compat-mobile"></div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.endsWith()")}} {{experimental_inline}}</li>
+ <li>{{jsxref("String.prototype.includes()")}} {{experimental_inline}}</li>
+ <li>{{jsxref("String.prototype.indexOf()")}}</li>
+ <li>{{jsxref("String.prototype.lastIndexOf()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/strike/index.html b/files/ru/web/javascript/reference/global_objects/string/strike/index.html
new file mode 100644
index 0000000000..5ecaf8cfb4
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/strike/index.html
@@ -0,0 +1,114 @@
+---
+title: String.prototype.strike()
+slug: Web/JavaScript/Reference/Global_Objects/String/strike
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/strike
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>strike()</code></strong> создаёт HTML-элемент {{HTMLElement("strike")}}, заставляющий строку отображаться зачёркнутым текстом.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.strike()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>strike()</code> заключает строку в тег <code>&lt;strike&gt;</code>: <code>"&lt;strike&gt;str&lt;/strike&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_strike" name="Example:_Using_strike">Пример: использование метода <code>strike()</code></h3>
+<p>В следующем примере демонстрируется использование нескольких строковых методов для изменения форматирования строки:</p>
+<pre class="brush: js">var worldString = 'Привет, мир';
+
+document.write(worldString.blink());
+document.write(worldString.bold());
+document.write(worldString.italics());
+document.write(worldString.strike());
+</pre>
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+<pre class="brush: html">&lt;blink&gt;Привет, мир&lt;/blink&gt;
+&lt;b&gt;Привет, мир&lt;/b&gt;
+&lt;i&gt;Привет, мир&lt;/i&gt;
+&lt;strike&gt;Привет, мир&lt;/strike&gt;
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.strike', 'String.prototype.strike')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/sub/index.html b/files/ru/web/javascript/reference/global_objects/string/sub/index.html
new file mode 100644
index 0000000000..69b0c4483c
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/sub/index.html
@@ -0,0 +1,109 @@
+---
+title: String.prototype.sub()
+slug: Web/JavaScript/Reference/Global_Objects/String/sub
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/sub
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>sub()</code></strong> создаёт HTML-элемент {{HTMLElement("sub")}}, заставляющий строку отображаться подстрочным текстом (нижним индексом).</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.sub()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>sub()</code> заключает строку в тег <code>&lt;sub&gt;</code>: <code>"&lt;sub&gt;str&lt;/sub&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_sub_and_sup_methods_to_format_a_string" name="Example:_Using_sub_and_sup_methods_to_format_a_string">Пример: использование методов <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 = 'подстрочный';
+
+document.write('Вот так выглядит ' + superText.sup() + ' текст.');
+document.write('Вот так выглядит ' + subText.sub() + ' текст.');
+</pre>
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+<pre class="brush: html">Вот так выглядит &lt;sup&gt;надстрочный&lt;/sup&gt; текст.
+Вот так выглядит &lt;sub&gt;подстрочный&lt;/sub&gt; текст.
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.sub', 'String.prototype.sub')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.sup()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/substr/index.html b/files/ru/web/javascript/reference/global_objects/string/substr/index.html
new file mode 100644
index 0000000000..cfc0191ea7
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/substr/index.html
@@ -0,0 +1,116 @@
+---
+title: String.prototype.substr()
+slug: Web/JavaScript/Reference/Global_Objects/String/substr
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/substr
+---
+<div>
+<div>{{JSRef}}</div>
+
+<div></div>
+
+<div class="warning">Внимание: так как <code>String.prototype.substr(…)</code> не полностью упразднена (а лишь "удалена из стандартов по вебу"), она считается <strong>унаследованной функцией</strong>, использование которой лучше избегать там, где это возможно. Она не является частью ядра языка JavaScript и может быть удалена в будущем. Если есть возможность, используйте метод <code><a href="/ru/docs/Web/JavaScript/Reference/Global_Objects/String/substring">substring()</a></code>.</div>
+
+<p>Метод <strong><code>substr()</code></strong> возвращает указанное количество символов из строки, начиная с указанной позиции.</p>
+{{EmbedInteractiveExample("pages/js/string-substr.html")}}
+
+
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.substr(<var>start</var>[, <var>length</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>start</code></dt>
+ <dd>Позиция, с которой начинать извлекать символы. Если передано отрицательное число, она трактуется как <code>strLength - start</code>, где <code>strLength</code> равна длине строки (например, если параметр <code>start</code> равен -3, то он трактуется как <code>strLength - 3</code>.)</dd>
+ <dt><code>length</code></dt>
+ <dd>Необязательный параметр. Количество извлекаемых символов.</dd>
+</dl>
+
+<h3 id="Возвращаемое_значение">Возвращаемое значение</h3>
+
+<p>Новая строка, содержащая часть исходной, обрезанной по переданным параметрам.</p>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Параметр <code>start</code> является индексом символа. Индекс первого символа равен 0, а последнего символа — на один меньше длины строки. Метод <code>substr()</code> начинает извлекать символы начиная с позиции <code>start</code> и собирая <code>length</code> символов (если он не достигнет раньше конца строки, в этом случае будет возвращено меньшее количество символов).</p>
+
+<p>Если параметр <code>start</code> является положительным и он больше, либо равен длине строки, метод <code>substr()</code> вернёт пустую строку.</p>
+
+<p>Если параметр <code>start</code> является отрицательным, метод <code>substr()</code> использует его как индекс символа, начиная с конца строки. Если параметр <code>start</code> отрицателен и по модулю больше длины строки, метод <code>substr()</code> будет использовать 0 в качестве начального индекса. Обратите внимание: описанная обработка отрицательных значений аргумента <code>start</code> не поддерживается JScript от Microsoft.</p>
+
+<p>Если параметр <code>length</code> равен нулю или отрицателен, метод <code>substr()</code> вернёт пустую строку. Если параметр <code>length</code> опущен, метод <code>substr()</code> извлечёт все символы до конца строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example_Using_substr" name="Example:_Using_substr">Использование метода <code>substr()</code></h3>
+
+<pre class="brush: js">var str = 'абвгдеёжзи';
+
+console.log('(1, 2): ' + str.substr(1, 2)); // '(1, 2): бв'
+console.log('(-3, 2): ' + str.substr(-3, 2)); // '(-3, 2): жз'
+console.log('(-3): ' + str.substr(-3)); // '(-3): жзи'
+console.log('(1): ' + str.substr(1)); // '(1): бвгдеёжзи'
+console.log('(-20, 2): ' + str.substr(-20, 2)); // '(-20, 2): аб'
+console.log('(20, 2): ' + str.substr(20, 2)); // '(20, 2): '
+</pre>
+
+<h2 id="Polyfill" name="Polyfill">Полифилл</h2>
+
+<p>JScript от Microsoft не поддерживает отрицательные значения для начального индекса. Если вы хотите использовать эту возможность, вы можете использовать следующий код совместимости для обхода этой ошибки:</p>
+
+<pre class="brush: js">// only run when the substr() function is broken
+if ('ab'.substr(-1) != 'b') {
+ /**
+ * Get the substring of a string
+ * @param {integer} start where to start the substring
+ * @param {integer} length how many characters to return
+ * @return {string}
+ */
+ String.prototype.substr = function(substr) {
+ return function(start, length) {
+ // call the original method
+ return substr.call(this,
+ // did we get a negative start, calculate how much it is from the beginning of the string
+ // adjust the start parameter for negative value
+ start &lt; 0 ? this.length + start : start,
+ length)
+ }
+ }(String.prototype.substr);
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</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="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</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="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.slice()")}}</li>
+ <li>{{jsxref("String.prototype.substring()")}}</li>
+</ul>
+</div>
diff --git a/files/ru/web/javascript/reference/global_objects/string/substring/index.html b/files/ru/web/javascript/reference/global_objects/string/substring/index.html
new file mode 100644
index 0000000000..9efb4f84a8
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/substring/index.html
@@ -0,0 +1,194 @@
+---
+title: String.prototype.substring()
+slug: Web/JavaScript/Reference/Global_Objects/String/substring
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - Référence(2)
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/substring
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>substring()</code></strong> возвращает подстроку строки между двумя индексами, или от одного индекса и до конца строки.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.substring(<var>indexA</var>[, <var>indexB</var>])</code></pre>
+
+<h3 id="Parameters" name="Parameters">Параметры</h3>
+
+<dl>
+ <dt><code>indexA</code></dt>
+ <dd>Целое число от <code>0</code> до длины строки, определяющее смещение в строке первого символа, который будет включён в результирующую подстроку.</dd>
+ <dt><code>indexB</code></dt>
+ <dd>Необязательный параметр. Целое число от <code>0</code> до длины строки, определяющее смещение в строке первого символа, который <strong>не будет</strong> включён в результирующую подстроку.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>substring()</code> извлекает символы, начиная с индекса <code>indexA</code> до, но не включая, индекс <code>indexB</code>. В частности:</p>
+
+<ul>
+ <li>Если аргумент <code>indexA</code> равен аргументу <code>indexB</code>, метод <code>substring()</code> вернёт пустую строку.</li>
+ <li>Если аргумент <code>indexB</code> опущен, метод <code>substring()</code> извлечёт символы до конца строки.</li>
+ <li>Если любой из аргументов меньше, либо равен нулю или равен {{jsxref("Global_Objects/NaN", "NaN")}}, он будет трактоваться как равный 0.</li>
+ <li>Если любой из аргументов больше, чем <code>stringName.length</code>, он будет трактоваться как равный <code>stringName.length</code>.</li>
+</ul>
+
+<p>Если аргумент <code>indexA</code> будет больше аргумента <code>indexB</code>, то метод <code>substring()</code> сработает так, как если бы аргументы были поменяны местами; например, <code><em>str</em>.substring(1, 0) == <em>str</em>.substring(0, 1)</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_substring" name="Example:_Using_substring">Пример: использование метода <code>substring()</code></h3>
+
+<p>В следующем примере метод <code>substring()</code> используется для отображения символов из строки <code>'Mozilla'</code>:</p>
+
+<pre class="brush: js">var anyString = 'Mozilla';
+
+// Отобразит 'Moz'
+console.log(anyString.substring(0, 3));
+console.log(anyString.substring(3, 0));
+
+// Отобразит 'lla'
+console.log(anyString.substring(4, 7));
+console.log(anyString.substring(7, 4));
+
+// Отобразит 'Mozill'
+console.log(anyString.substring(0, 6));
+
+// Отобразит 'Mozilla'
+console.log(anyString.substring(0, 7));
+console.log(anyString.substring(0, 10));
+</pre>
+
+<h3 id="Example:_Using_substring_with_length_property" name="Example:_Using_substring_with_length_property">Пример: использование метода <code>substring()</code> вместе со свойством <code>length</code></h3>
+
+<p>Следующий пример использует метод <code>substring()</code> и свойство {{jsxref("String.length", "length")}} для извлечения последних символов из строки. Этот метод может оказаться легче для запоминания, особенно если учесть, что вам не нужно знать начальный и конечный индексы, как это было в примере выше.</p>
+
+<pre class="brush: js">// Отобразит 'illa' - последние 4 символа
+var anyString = 'Mozilla';
+var anyString4 = anyString.substring(anyString.length - 4);
+console.log(anyString4);
+
+// Отобразит 'zilla' - последние 5 символов
+var anyString = 'Mozilla';
+var anyString5 = anyString.substring(anyString.length - 5);
+console.log(anyString5);
+</pre>
+
+<h3 id="Example:_Replacing_a_substring_within_a_string" name="Example:_Replacing_a_substring_within_a_string">Пример: замена подстроки в строке</h3>
+
+<p>Следующий пример демонстрирует замену подстроки в строке. Он заменит как отдельные символы, так и целые подстроки. Вызов функции в конце примера изменит строку <code>'Дивный новый мир'</code> на строку <code>'Дивный новый веб'</code>.</p>
+
+<pre class="brush: js">// Заменяет oldS на newS в строке fullS
+function replaceString(oldS, newS, fullS) {
+ for (var i = 0; i &lt; 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>Обратите внимание, что функция может скатиться в беcконечный цикл, если строка <code>oldS</code> сама является подстрокой для <code>newS</code> — например, если вы попытаетесь заменить слово «мир» на слово «другоймир». Лучше использоваться следующий метод для замены строк:</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="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Реализована в JavaScript 1.0.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.15', 'String.prototype.substring')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.substring', 'String.prototype.substring')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.substr()")}}</li>
+ <li>{{jsxref("String.prototype.slice()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/sup/index.html b/files/ru/web/javascript/reference/global_objects/string/sup/index.html
new file mode 100644
index 0000000000..092b08a314
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/sup/index.html
@@ -0,0 +1,109 @@
+---
+title: String.prototype.sup()
+slug: Web/JavaScript/Reference/Global_Objects/String/sup
+tags:
+ - Deprecated
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+ - Методы оборачивания в HTML
+translation_of: Web/JavaScript/Reference/Global_Objects/String/sup
+---
+<div>{{JSRef("Global_Objects", "String")}} {{deprecated_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>sup()</code></strong> создаёт HTML-элемент {{HTMLElement("sup")}}, заставляющий строку отображаться надстрочным текстом (верхним индексом).</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.sup()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>sup()</code> заключает строку в тег <code>&lt;sup&gt;</code>: <code>"&lt;sup&gt;str&lt;/sup&gt;"</code>.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_sub_and_sup_methods_to_format_a_string" name="Example:_Using_sub_and_sup_methods_to_format_a_string">Пример: использование методов <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 = 'подстрочный';
+
+document.write('Вот так выглядит ' + superText.sup() + ' текст.');
+document.write('Вот так выглядит ' + subText.sub() + ' текст.');
+</pre>
+<p>Этот пример генерирует такой же вывод, как и следующий HTML:</p>
+<pre class="brush: html">Вот так выглядит &lt;sup&gt;надстрочный&lt;/sup&gt; текст.
+Вот так выглядит &lt;sub&gt;подстрочный&lt;/sub&gt; текст.
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.sup', 'String.prototype.sup')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.<br>
+ Определена в (нормативном) Приложении B по Дополнительным возможностям ECMAScript для веб-браузеров.</td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoMobile("1.0")}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.sub()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html b/files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html
new file mode 100644
index 0000000000..16950a2077
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/tolocalelowercase/index.html
@@ -0,0 +1,110 @@
+---
+title: String.prototype.toLocaleLowerCase()
+slug: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase
+tags:
+ - Internationalization
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleLowerCase
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>toLocaleLowerCase()</code></strong> возвращает значение строки, на которой он был вызван, преобразованное в нижний регистр согласно правилам преобразования регистра локали.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.toLocaleLowerCase()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>toLocaleLowerCase()</code> возвращает значение строки, преобразованное в нижний регистр согласно правилам преобразования регистра локали. Метод <code>toLocaleLowerCase()</code> не изменяет значение самой строки. В большинстве случаев он возвращает тот же результат, что и метод {{jsxref("String.prototype.toLowerCase()", "toLowerCase()")}}, но для некоторых локалей, например, турецкой, в которой правила преобразования регистра отличаются от правил по умолчанию, принятых в Юникоде, он может вернуть другой результат.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_toLocaleLowerCase" name="Example:_Using_toLocaleLowerCase">Пример: использование метода <code>toLocaleLowerCase()</code></h3>
+<pre class="brush: js">console.log('АЛФАВИТ'.toLocaleLowerCase()); // 'алфавит'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.17', 'String.prototype.toLocaleLowerCase')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.tolocalelowercase', 'String.prototype.toLocaleLowerCase')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html b/files/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html
new file mode 100644
index 0000000000..290852f30e
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/tolocaleuppercase/index.html
@@ -0,0 +1,110 @@
+---
+title: String.prototype.toLocaleUpperCase()
+slug: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase
+tags:
+ - Internationalization
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/toLocaleUpperCase
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>toLocaleUpperCase()</code></strong> возвращает значение строки, на которой он был вызван, преобразованное в верхний регистр согласно правилам преобразования регистра локали.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.toLocaleUpperCase()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>toLocaleUpperCase()</code> возвращает значение строки, преобразованное в верхний регистр согласно правилам преобразования регистра локали. Метод <code>toLocaleUpperCase()</code> не изменяет значение самой строки. В большинстве случаев он возвращает тот же результат, что и метод {{jsxref("String.prototype.toUpperCase()", "toUpperCase()")}}, но для некоторых локалей, например, турецкой, в которой правила преобразования регистра отличаются от правил по умолчанию, принятых в Юникоде, он может вернуть другой результат.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_toLocaleUpperCase" name="Example:_Using_toLocaleUpperCase">Пример: использование метода <code>toLocaleUpperCase()</code></h3>
+<pre class="brush: js">console.log('алфавит'.toLocaleUpperCase()); // 'АЛФАВИТ'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 3-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.2.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.19', 'String.prototype.toLocaleUpperCase')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.tolocaleuppercase', 'String.prototype.toLocaleUpperCase')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/tolowercase/index.html b/files/ru/web/javascript/reference/global_objects/string/tolowercase/index.html
new file mode 100644
index 0000000000..c79c41ad6e
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/tolowercase/index.html
@@ -0,0 +1,109 @@
+---
+title: String.prototype.toLowerCase()
+slug: Web/JavaScript/Reference/Global_Objects/String/toLowerCase
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/toLowerCase
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>toLowerCase()</code></strong> возвращает значение строки, на которой он был вызван, преобразованное в нижний регистр.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.toLowerCase()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>toLowerCase()</code> возвращает значение строки, преобразованное в нижний регистр. Метод <code>toLowerCase()</code> не изменяет значение самой строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_toLowerCase" name="Example:_Using_toLowerCase">Пример: использование метода <code>toLowerCase()</code></h3>
+<pre class="brush: js">console.log('АЛФАВИТ'.toLowerCase()); // 'алфавит'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.16', 'String.prototype.toLowerCase')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.tolowercase', 'String.prototype.toLowerCase')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/tosource/index.html b/files/ru/web/javascript/reference/global_objects/string/tosource/index.html
new file mode 100644
index 0000000000..3570fd5b48
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/tosource/index.html
@@ -0,0 +1,91 @@
+---
+title: String.prototype.toSource()
+slug: Web/JavaScript/Reference/Global_Objects/String/toSource
+tags:
+ - JavaScript
+ - Method
+ - Non-standard
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/toSource
+---
+<div>{{JSRef("Global_Objects", "String")}} {{non-standard_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>toSource()</code></strong> возвращает строковое представление исходного кода объекта.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code>String.toSource()
+<var>str</var>.toSource()
+</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>toSource()</code> возвращает следующие значения:</p>
+<ul>
+ <li>Для встроенного объекта {{jsxref("Global_Objects/String", "String")}} метод <code>toSource()</code> возвращает следующую строку, указывающую, что исходный код недоступен:
+<pre class="brush: js">function String() {
+ [native code]
+}
+</pre>
+ </li>
+ <li>Для экземпляров объекта {{jsxref("Global_Objects/String", "String")}} или строковых литералов, метод <code>toSource()</code> возвращает строковое представление исходного кода.</li>
+</ul>
+<p>Этот метод обычно вызывается внутренними механизмаим движка JavaScript, а не явно в коде.</p>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.3.</p>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("Object.prototype.toSource()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/tostring/index.html b/files/ru/web/javascript/reference/global_objects/string/tostring/index.html
new file mode 100644
index 0000000000..6987aa12ba
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/tostring/index.html
@@ -0,0 +1,111 @@
+---
+title: String.prototype.toString()
+slug: Web/JavaScript/Reference/Global_Objects/String/toString
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/toString
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>toString()</code></strong> возвращает строку, представляющую указанный объект.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.toString()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Объект {{jsxref("Global_Objects/String", "String")}} переопределяет метод <code>toString()</code>, унаследованный из объекта {{jsxref("Global_Objects/Object", "Object")}}; он не наследует метод {{jsxref("Object.prototype.toString()")}}. Для объектов {{jsxref("Global_Objects/String", "String")}} метод <code>toString()</code> возвращает строку, представляющую объект и делает тоже самое, что и метод {{jsxref("String.prototype.valueOf()")}}.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_toString" name="Example:_Using_toString">Пример: использование метода <code>toString()</code></h3>
+<p>В следующем примере выводится строковое значение объекта {{jsxref("Global_Objects/String", "String")}}:</p>
+<pre class="brush: js">var x = new String('Привет, мир');
+
+console.log(x.toString()); // Отобразит 'Привет, мир'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.1.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.2', 'String.prototype.toString')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.tostring', 'String.prototype.toString')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("Object.prototype.toSource()")}}</li>
+ <li>{{jsxref("String.prototype.valueOf()")}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/touppercase/index.html b/files/ru/web/javascript/reference/global_objects/string/touppercase/index.html
new file mode 100644
index 0000000000..96354d60e9
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/touppercase/index.html
@@ -0,0 +1,109 @@
+---
+title: String.prototype.toUpperCase()
+slug: Web/JavaScript/Reference/Global_Objects/String/toUpperCase
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/toUpperCase
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>toUpperCase()</code></strong> возвращает значение строки, на которой он был вызван, преобразованное в верхний регистр.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.toUpperCase()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>toUpperCase()</code> возвращает значение строки, преобразованное в верхний регистр. Метод <code>toUpperCase()</code> не изменяет значение самой строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_toUpperCase" name="Example:_Using_toUpperCase">Пример: использование метода <code>toUpperCase()</code></h3>
+<pre class="brush: js">console.log('алфавит'.toUpperCase()); // 'АЛФАВИТ'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.0.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.18', 'String.prototype.toUpperCase')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.touppercase', 'String.prototype.toUpperCase')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</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/ru/web/javascript/reference/global_objects/string/trim/index.html b/files/ru/web/javascript/reference/global_objects/string/trim/index.html
new file mode 100644
index 0000000000..e7f2037942
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/trim/index.html
@@ -0,0 +1,135 @@
+---
+title: String.prototype.trim()
+slug: Web/JavaScript/Reference/Global_Objects/String/Trim
+tags:
+ - ECMAScript5
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/Trim
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>trim()</code></strong> удаляет пробельные символы с начала и конца строки. Пробельными символами в этом контексте считаются все собственно пробельные символы (пробел, табуляция, неразрывный пробел и прочие) и все символы конца строки (LF, CR и прочие).</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.trim()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>trim()</code> возвращает строку с вырезанными пробельными символами с её концов. Метод <code>trim()</code> не изменяет значение самой строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_trim" name="Example:_Using_trim">Пример: использование метода <code>trim()</code></h3>
+
+<p>Следующий пример покажет строку <code>'foo'</code>:</p>
+
+<pre class="brush: js">var orig = ' foo ';
+console.log(orig.trim()); // 'foo'
+
+// Другой пример, в котором .trim() убирает пробельные символы только с одной стороны.
+
+var orig = 'foo ';
+console.log(orig.trim()); // 'foo'
+</pre>
+
+<h2 id="Polyfill" name="Polyfill">Полифилл</h2>
+
+<p>Запуск следующего кода до любого другого создаст метод <code>trim()</code>, если он ещё не реализуется браузером.</p>
+
+<pre class="brush: js">if (!String.prototype.trim) {
+ (function() {
+ // Вырезаем BOM и неразрывный пробел
+ String.prototype.trim = function() {
+ return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
+ };
+ })();
+}
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.20', 'String.prototype.trim')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.8.1.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.trim', 'String.prototype.trim')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.9.1")}}</td>
+ <td>{{CompatIE("9")}}</td>
+ <td>{{CompatOpera("10.5")}}</td>
+ <td>{{CompatSafari("5")}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.trimLeft()")}} {{non-standard_inline}}</li>
+ <li>{{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/trimleft/index.html b/files/ru/web/javascript/reference/global_objects/string/trimleft/index.html
new file mode 100644
index 0000000000..f60326e795
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/trimleft/index.html
@@ -0,0 +1,93 @@
+---
+title: String.prototype.trimLeft()
+slug: Web/JavaScript/Reference/Global_Objects/String/TrimLeft
+tags:
+ - JavaScript
+ - Method
+ - Non-standard
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/trimStart
+---
+<div>{{JSRef("Global_Objects", "String")}} {{non-standard_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>trimLeft()</code></strong> удаляет пробельные символы с левого конца строки.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.trimLeft()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>trimLeft()</code> возвращает строку с вырезанными пробельными символами с её левого конца. Метод <code>trimLeft()</code> не изменяет значение самой строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_trimLeft" name="Example:_Using_trimLeft">Пример: использование метода <code>trimLeft()</code></h3>
+<p>Следующий пример покажет строку <code style="white-space: pre;">'foo '</code>:</p>
+<pre class="brush: js; highlight: [5]">var str = ' foo ';
+
+console.log(str.length); // 8
+
+str = str.trimLeft();
+console.log(str.length); // 5
+console.log(str); // 'foo '
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.8.1.</p>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.9.1")}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.trim()")}}</li>
+ <li>{{jsxref("String.prototype.trimRight()")}} {{non-standard_inline}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/trimright/index.html b/files/ru/web/javascript/reference/global_objects/string/trimright/index.html
new file mode 100644
index 0000000000..4a7bd8e907
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/trimright/index.html
@@ -0,0 +1,93 @@
+---
+title: String.prototype.trimRight()
+slug: Web/JavaScript/Reference/Global_Objects/String/TrimRight
+tags:
+ - JavaScript
+ - Method
+ - Non-standard
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/trimEnd
+---
+<div>{{JSRef("Global_Objects", "String")}} {{non-standard_header}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+<p>Метод <strong><code>trimRight()</code></strong> удаляет пробельные символы с правого конца строки.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+<pre class="syntaxbox"><code><var>str</var>.trimRight()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+<p>Метод <code>trimRight()</code> возвращает строку с вырезанными пробельными символами с её правого конца. Метод <code>trimRight()</code> не изменяет значение самой строки.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_trimRight" name="Example:_Using_trimRight">Пример: использование метода <code>trimRight()</code></h3>
+<p>Следующий пример покажет строку <code style="white-space: pre;">' foo'</code>:</p>
+<pre class="brush: js; highlight: [5]">var str = ' foo ';
+
+console.log(str.length); // 8
+
+str = str.trimRight();
+console.log(str.length); // 5
+console.log(str); // ' foo'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+<p>Не является частью какого-либо стандарта. Реализована в JavaScript 1.8.1.</p>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+<div>{{CompatibilityTable}}</div>
+<div id="compat-desktop">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatGeckoDesktop("1.9.1")}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+<div id="compat-mobile">
+ <table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ <td>{{CompatUnknown}}</td>
+ </tr>
+ </tbody>
+ </table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+<ul>
+ <li>{{jsxref("String.prototype.trim()")}}</li>
+ <li>{{jsxref("String.prototype.trimLeft()")}} {{non-standard_inline}}</li>
+</ul>
diff --git a/files/ru/web/javascript/reference/global_objects/string/valueof/index.html b/files/ru/web/javascript/reference/global_objects/string/valueof/index.html
new file mode 100644
index 0000000000..26eba20671
--- /dev/null
+++ b/files/ru/web/javascript/reference/global_objects/string/valueof/index.html
@@ -0,0 +1,120 @@
+---
+title: String.prototype.valueOf()
+slug: Web/JavaScript/Reference/Global_Objects/String/valueOf
+tags:
+ - JavaScript
+ - Method
+ - Prototype
+ - Reference
+ - String
+translation_of: Web/JavaScript/Reference/Global_Objects/String/valueOf
+---
+<div>{{JSRef("Global_Objects", "String")}}</div>
+
+<h2 id="Summary" name="Summary">Сводка</h2>
+
+<p>Метод <strong><code>valueOf()</code></strong> возвращает примитивное значение объекта {{jsxref("Global_Objects/String", "String")}}.</p>
+
+<h2 id="Syntax" name="Syntax">Синтаксис</h2>
+
+<pre class="syntaxbox"><code><var>str</var>.valueOf()</code></pre>
+
+<h2 id="Description" name="Description">Описание</h2>
+
+<p>Метод <code>valueOf()</code> возвращает примитивное значение объекта {{jsxref("Global_Objects/String", "String")}} в виде строкового типа данных. Это значение эквивалентно значению вызова метода {{jsxref("String.prototype.toString()")}}.</p>
+
+<p>Этот метод обычно вызывается внутренними механизмами движка JavaScript, а не явно в коде.</p>
+
+<h2 id="Examples" name="Examples">Примеры</h2>
+
+<h3 id="Example:_Using_valueOf" name="Example:_Using_valueOf">Пример: использование метода <code>valueOf()</code></h3>
+
+<pre class="brush: js">var x = new String('Привет, мир');
+console.log(x.valueOf()); // Отобразит 'Привет, мир'
+</pre>
+
+<h2 id="Specifications" name="Specifications">Спецификации</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Спецификация</th>
+ <th scope="col">Статус</th>
+ <th scope="col">Комментарии</th>
+ </tr>
+ <tr>
+ <td>ECMAScript 1-е издание.</td>
+ <td>Стандарт</td>
+ <td>Изначальное определение. Реализована в JavaScript 1.1.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.5.4.3', 'String.prototype.valueOf')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-string.prototype.valueof', 'String.prototype.valueOf')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Browser_compatibility" name="Browser_compatibility">Совместимость с браузерами</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Возможность</th>
+ <th>Android</th>
+ <th>Chrome для Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Базовая поддержка</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Смотрите также</h2>
+
+<ul>
+ <li>{{jsxref("String.prototype.toString()")}}</li>
+ <li>{{jsxref("Object.prototype.valueOf()")}}</li>
+</ul>