recursal/MDN huggingface dataset:
String.prototype.sup()
======================

**Устарело:** Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.

Сводка
------

Метод **`sup()`** создаёт HTML-элемент `<sup>` (en-US), заставляющий строку отображаться надстрочным текстом (верхним индексом).

Синтаксис
---------
```

str.sup()
```

Описание
--------

Метод `sup()` заключает строку в тег `<sup>`: `"<sup>str</sup>"`.

Примеры
-------

### Пример: использование методов `sub()` и `sup()`

В следующем примере для форматирования строки используются методы `sub()` и `sup()`:


```js
var superText = "надстрочный";
var subText = "подстрочный";

document.write("Вот так выглядит " + superText.sup() + " текст.");
document.write("Вот так выглядит " + subText.sub() + " текст.");
```


Этот пример генерирует такой же вывод, как и следующий HTML:


```html
Вот так выглядит <sup>надстрочный</sup> текст. Вот так выглядит
<sub>подстрочный</sub> текст.
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.sup |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.sub()`
String.prototype.fixed()
========================

**Устарело:** Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.

Сводка
------

Метод **`fixed()`** создаёт HTML-элемент `<tt>` (en-US), заставляющий строку отображаться моноширинным шрифтом.

Синтаксис
---------
```

str.fixed()
```

Описание
--------

Метод `fixed()` заключает строку в тег `<tt>`: `"<tt>str</tt>"`.

Примеры
-------

### Пример: использование метода `fixed()`

В следующем примере для изменения форматирования строки используется метод `fixed()`:


```js
var worldString = "Привет, мир";

document.write(worldString.fixed());
```


Этот пример генерирует такой же вывод, как и следующий HTML:


```html
<tt>Привет, мир</tt>
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.fixed |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.bold()`
* `String.prototype.italics()`
* `String.prototype.strike()`
String.prototype.big()
======================

**Устарело:** Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.

Сводка
------

Метод **`big()`** создаёт HTML-элемент `<big>` (en-US), заставляющий строку отображаться большим шрифтом.

**Примечание:** элемент <big> был удалён из HTML5 (en-US) и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства CSS.

Синтаксис
---------
```

str.big()
```

Описание
--------

Метод `big()` заключает строку в тег `<big>`: `"<big>str</big>"`.

Примеры
-------

### Пример: использование метода `big()`

В следующем примере демонстрируется использование нескольких строковых методов для изменения размера строки:


```js
var worldString = "Привет, мир";

console.log(worldString.small()); // <small>Привет, мир</small>
console.log(worldString.big()); // <big>Привет, мир</big>
console.log(worldString.fontsize(7)); // <font size=7>Привет, мир</font>
```


При помощи объекта `element.style` (en-US) вы можете получить значение атрибута `style` элемента и управлять им более обобщённым способом, например:


```js
document.getElementById("yourElemId").style.fontSize = "2em";
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.big |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.fontsize()`
* `String.prototype.small()`
String.prototype.padEnd()
=========================

**Экспериментальная возможность:** **Это экспериментальная технология**  
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.

Метод **`padEnd()`** дополняет текущую строку с помощью заданной строки (в конечном счёте повторяя), так чтобы результирующая строка достигла заданной длины. Дополнение применяется в конце (справа) текущей строки.

Синтаксис
---------
```

str.padEnd(targetLength [, padString])
```

### Параметры

`targetLength`

Длина результирующей строки, после того как текущая строка была дополнена. Если этот параметр меньше длины текущей строки, то будет возвращена текущая строка , как она есть.

`padString` Необязательный

Строка для дополнения текущей строки с. Если эта строка слишком длинная, она будет урезана и будет применяться её левая большая часть. " " (U+0020) - значение по умолчанию для этого параметра.

### Возвращаемое значение

Строка указанной длинны дополненная с помощью дополнительной строки в конце текущей строки.

Примеры
-------


```js
"abc".padEnd(10); // "abc "
"abc".padEnd(10, "foo"); // "abcfoofoof"
"abc".padEnd(6, "123456"); // "abc123"
```

Характеристики
--------------

Этот метод ещё не достиг стандарта ECMAScript. Сейчас он в состоянии proposal for ECMAScript.

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
String.prototype.fontcolor()
============================

**Устарело:** Эта возможность была удалена из веб-стандартов. Хотя некоторые браузеры по-прежнему могут поддерживать её, она находится в процессе удаления. Не используйте её ни в старых, ни в новых проектах. Страницы или веб-приложения, использующие её, могут в любой момент сломаться.

Сводка
------

Метод **`fontcolor()`** создаёт HTML-элемент `<font>`, заставляющий строку отображаться шрифтом указанного цвета.

**Примечание:** элемент <font> был удалён из HTML5 (en-US) и больше не должен использоваться. Вместо него веб-разработчикам следует использовать свойства CSS.

Синтаксис
---------
```

str.fontcolor(color)
```

### Параметры

`color`

Строка, выражающая цвет в виде шестнадцатеричного триплета RGB, либо в виде названия цвета. Названия цветов перечислены в справочнике по значению цвета в CSS.

Описание
--------

Если вы выразили цвет в виде шестнадцатеричного триплета RGB, вы должны использовать формат `rrggbb`. Например, шестнадцатеричные значения RGB для оранжево-розового цвета такие: красный=FA, зелёный=80 и синий=72, так что RGB-триплет для оранжево-розового цвета будет следующим `"FA8072"`.

Примеры
-------

### Пример: использование метода `fontcolor()`

В следующем примере метод `fontcolor()` используется для изменения цвета строки путём генерирования строки с HTML-тегом `<font>`.


```js
var worldString = "Привет, мир";

console.log(worldString.fontcolor("red") + " на этой строке красный");
// '<font color="red">Привет, мир</font> на этой строке красный'

console.log(
  worldString.fontcolor("FF00") +
    " на этой строке красный в шестнадцатеричной форме",
);
// '<font color="FF00">Привет, мир</font> на этой строке красный в шестнадцатеричной форме'
```


При помощи объекта `element.style` (en-US) вы можете получить значение атрибута `style` элемента и управлять им более обобщённым способом, например:


```js
document.getElementById("yourElemId").style.color = "red";
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.fontcolor |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.fontsize()`
String.prototype.endsWith()
===========================

Сводка
------

Метод **`endsWith()`** позволяет определить, заканчивается ли строка символами указанными в скобках, возвращая, соответственно, `true` или `false`.

Синтаксис
---------
```

str.endsWith(searchString[, length])
```

### Параметры

`searchString`

Символы, искомые в конце строки.

`length`

Необязательный параметр. Позволяет искать внутри строки, обрезая её по диапазону; по умолчанию равен длине строки.

### Возвращаемое значение

**`true`** если данные символы находятся в конце строки; в противном случае, **`false`**.

Описание
--------

Этот метод позволяет определять, заканчивается ли строка искомыми символами. Метод чувствителен к регистру.

Примеры
-------

### Пример: использование метода `endsWith()`


```js
var str = "Быть или не быть, вот в чём вопрос.";

console.log(str.endsWith("вопрос.")); // true
console.log(str.endsWith("быть")); // false
console.log(str.endsWith("быть", 16)); // true
```

Полифил
-------

Этот метод был добавлен к спецификации ECMAScript 6 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:


```js
if (!String.prototype.endsWith) {
  Object.defineProperty(String.prototype, "endsWith", {
    value: function (searchString, position) {
      var subjectString = this.toString();
      if (position === undefined || position > subjectString.length) {
        position = subjectString.length;
      }
      position -= searchString.length;
      var lastIndex = subjectString.indexOf(searchString, position);
      return lastIndex !== -1 && lastIndex === position;
    },
  });
}
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.endswith |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.startsWith()` 
Экспериментальная возможность
* `String.prototype.contains()` 
Экспериментальная возможность
* `String.prototype.indexOf()`
* `String.prototype.lastIndexOf()`
String.prototype.matchAll()
===========================

Метод **`matchAll()`** возвращает итератор по всем результатам при сопоставлении *строки с регулярным выражением*.

Интерактивный пример
--------------------

Синтаксис
---------
```

str.matchAll(regexp)
```

### Параметры

`regexp`

Объект регулярного выражения. Если передано значение, не являющееся объектом регулярного выражения, оно неявно преобразуется в `RegExp` используя `new RegExp(obj)`.

### Возвращаемое значение

Возвращается iterator (не перезапускаемый).

Примеры
-------

### Regexp.exec() и matchAll()

До добавления метода `matchAll` в JavaScript, можно было использовать метод regexp.exec (и регулярные выражения с флагом `/g` ) в цикле для получения доступа к совпадениям:


```js
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."
}
```


 С появлением `matchAll`, нет необходимости использовать цикл `while` и метод `exec` с флагом `/g`.
 Используя вместо этого метод `matchAll`, вы получаете итератор, который вы можете использовать более удобно с конструкциями `for...of`, array spread, или `Array.from()` :


```js
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) => m[0]);
// Array [ "foo", "foo" ]
```

### Улучшенный доступ к группам захвата

Ещё одна веская причина использовать `matchAll` это улучшенный доступ к группам захвата. Группы захвата игнорируются при использовании `match()` с глобальным флагом `/g`:


```js
var regexp = /t(e)(st(\d?))/g;
var str = "test1test2";

str.match(regexp);
// Array ['test1', 'test2']
```


С `matchAll` у вас появляется к ним доступ:


```js
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]
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.matchall |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `RegExp`
* `RegExp.prototype.exec()`
* `RegExp.prototype.test()`
String.prototype.valueOf()
==========================

Сводка
------

Метод **`valueOf()`** возвращает примитивное значение объекта `String`.

Синтаксис
---------
```

str.valueOf()
```

Описание
--------

Метод `valueOf()` возвращает примитивное значение объекта `String` в виде строкового типа данных. Это значение эквивалентно значению вызова метода `String.prototype.toString()`.

Этот метод обычно вызывается внутренними механизмами движка JavaScript, а не явно в коде.

Примеры
-------

### Пример: использование метода `valueOf()`


```js
var x = new String("Привет, мир");
console.log(x.valueOf()); // Отобразит 'Привет, мир'
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.valueof |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.toString()`
* `Object.prototype.valueOf()`
String.prototype.repeat()
=========================

Метод **`repeat()`** конструирует и возвращает новую строку, содержащую указанное количество соединённых вместе копий строки, на которой он был вызван.Синтаксис
---------
```

str.repeat(count)
```

### Параметры

`count`

Целое число от 0 до +∞: [0, +∞), определяющее число повторений строки во вновь создаваемой и возвращаемой строке.

### Возвращаемое значение

Новая строка, содержащая указанное количество копий строки, для которой был вызван метод.

### Исключения

* `RangeError`: число повторений не должно быть отрицательным.
* `RangeError`: число повторений должно быть меньше бесконечности и не должно превышать максимально допустимую длину строки.

Примеры
-------


```js
"абв".repeat(-1); // RangeError
"абв".repeat(0); // ''
"абв".repeat(1); // 'абв'
"абв".repeat(2); // 'абвабв'
"абв".repeat(3.5); // 'абвабвабв' (количество будет преобразовано в целое число)
"абв".repeat(1 / 0); // RangeError

({ toString: () => "абв", repeat: String.prototype.repeat }).repeat(2);
// 'абвабв' (метод repeat() является обобщённым методом)
```

Полифил
-------

Этот метод был добавлен к спецификации ECMAScript 2015 и может быть доступен ещё не во всех реализациях JavaScript. Однако, вы можете легко эмулировать этот метод при помощи следующего кода:


```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 < 0) {
      throw new RangeError("repeat count must be non-negative");
    }
    if (count == Infinity) {
      throw new RangeError("repeat count must be less than infinity");
    }
    count = Math.floor(count);
    if (str.length == 0 || count == 0) {
      return "";
    }
    // Обеспечение того, что count является 31-битным целым числом, позволяет нам значительно
    // соптимизировать главную часть функции. Впрочем, большинство современных (на август
    // 2014 года) браузеров не обрабатывают строки, длиннее 1 << 28 символов, так что:
    if (str.length \* count >= 1 << 28) {
      throw new RangeError(
        "repeat count must not overflow maximum string size",
      );
    }
    var rpt = "";
    for (var i = 0; i < count; i++) {
      rpt += str;
    }
    return rpt;
  };
}
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.repeat |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
String.prototype.lastIndexOf()
==============================

Сводка
------

Метод **`lastIndexOf()`** возвращает индекс последнего вхождения указанного значения в строковый объект `String`, на котором он был вызван, или -1, если ничего не было найдено. Поиск по строке ведётся от конца к началу, начиная с индекса `fromIndex`.

Синтаксис
---------
```

str.lastIndexOf(searchValue[, fromIndex])
```

### Параметры

`searchValue`

Строка, представляющая искомое значение.

`fromIndex`

Необязательный параметр. Местоположение внутри строки, откуда начинать поиск, нумерация индексов идёт слева направо. Может быть любым целым числом. Значение по умолчанию установлено в `str.length`. Если оно отрицательно, трактуется как 0. Если `fromIndex > str.length`, параметр `fromIndex` будет трактоваться как `str.length`.

Описание
--------

Символы в строке идут слева направо. Индекс первого символа равен 0, а последнего символа в строке `stringName` равен `stringName.length - 1`.


```js
"канал".lastIndexOf("а"); // вернёт 3
"канал".lastIndexOf("а", 2); // вернёт 1
"канал".lastIndexOf("а", 0); // вернёт -1
"канал".lastIndexOf("ч"); // вернёт -1
```

### Регистрозависимость

Метод `lastIndexOf()` является регистрозависимым. Например, следующее выражение вернёт -1:


```js
"Синий кит, касатка".lastIndexOf("синий"); // вернёт -1
```

Примеры
-------

### Пример: использование методов `indexOf()` и `lastIndexOf()`

В следующем примере используются методы `indexOf()` и `lastIndexOf()` для нахождения значений в строке `"Дивный новый мир"`.


```js
var anyString = "Дивный новый мир";

console.log(
  "Индекс первого вхождения «й» с начала строки равен " +
    anyString.indexOf("й"),
);
// Отобразит 5
console.log(
  "Индекс первого вхождения «й» с конца строки равен " +
    anyString.lastIndexOf("й"),
);
// Отобразит 11

console.log(
  "Индекс вхождения «новый» с начала строки равен " +
    anyString.indexOf("новый"),
);
// Отобразит 7
console.log(
  "Индекс вхождения «новый» с конца строки равен " +
    anyString.lastIndexOf("новый"),
);
// Отобразит 7
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.lastindexof |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.charAt()`
* `String.prototype.indexOf()`
* `String.prototype.split()`
* `Array.prototype.indexOf()`
* `Array.prototype.lastIndexOf()`
String.fromCharCode()
=====================

Сводка
------

Статический метод **`String.fromCharCode()`** возвращает строку, созданную из указанной последовательности значений единиц кода UTF-16.

.

Синтаксис
---------
```

String.fromCharCode(num1[, ...[, numN]])
```

### Параметры

`num1, ..., numN`

Последовательность чисел, являющихся значениями единиц кода UTF-16. Диапазон составляет от 0 до 65535 (0xFFFF). Числа больше 0xFFFF усекаются. Проверка достоверности не производится.

Описание
--------

Этот метод возвращает примитивную строку, а не объект `String`.

Поскольку метод `fromCharCode()` является статическим методом объекта `String`, вы всегда должны использовать его как `String.fromCharCode()`, а не как метод созданного вами экземпляра `String`.

Примеры
-------

### Пример: использование метода `fromCharCode()`

Следующий пример вернёт строку "ABC".


```js
String.fromCharCode(65, 66, 67); // "ABC"
```


Полная таблица UTF-16

Как заставить его работать с большими значениями
------------------------------------------------

Хотя большинство распространённых значений Юникода может быть представлено одним 16-битным числом (как ожидалось на ранней стадии стандартизации JavaScript) и метод `fromCharCode()` может использоваться для возврата одного символа для самых распространённых значений (точнее, значений UCS-2, которые являются подмножеством самых распространённых символов UTF-16), для работы со ВСЕМИ допустимыми значениями Юникода (занимающими до 21 бита) одного метода `fromCharCode()` недостаточно. Поскольку большие кодовые точки используют (самое меньшее) два «суррогатных» числа для представления одного символа, для возврата таких пар можно использовать метод `String.fromCodePoint()` (являющийся частью черновика ES6) и, таким образом, адекватно представлять эти символы.

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.fromcharcode |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.fromCodePoint()`
* `String.prototype.charAt()`
* `String.prototype.charCodeAt()`
* `String.prototype.codePointAt()`
String.prototype.toLowerCase()
==============================

Сводка
------

Метод **`toLowerCase()`** возвращает значение строки, на которой он был вызван, преобразованное в нижний регистр.

Синтаксис
---------
```

str.toLowerCase()
```

Описание
--------

Метод `toLowerCase()` возвращает значение строки, преобразованное в нижний регистр. Метод `toLowerCase()` не изменяет значение самой строки.

Примеры
-------

### Пример: использование метода `toLowerCase()`


```js
console.log("АЛФАВИТ".toLowerCase()); // 'алфавит'
```

Спецификации
------------

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.tolowercase |

Совместимость с браузерами
--------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Смотрите также
--------------

* `String.prototype.toLocaleLowerCase()`
* `String.prototype.toLocaleUpperCase()`
* `String.prototype.toUpperCase()`