recursal/MDN huggingface dataset:
Math.asin()
===========

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

Метод **`Math.asin()`** возвращает арксинус числа (в радианах), то есть



∀
x
∊
[

-
1

;
1
]
,

Math.asin
(
x
)

=
arcsin
(
x
)
=
 уникальный 

y
∊

[

-

π
2

;

π
2

]

такой, что

sin
(
y
)
=
x

\forall x \in [{-1};1],;\mathtt{\operatorname{Math.asin}(x)} = \arcsin(x) = \text{ уникальный } ; y \in \left[-\frac{\pi}{2}; \frac{\pi}{2}\right] , \text{такой, что} ; \sin(y) = x

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

Math.asin(x)
```

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

`x`

Число.

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

Метод `Math.asin()` возвращает числовое значение между 


-

π
2

-\frac{\pi}{2}

 и 


π
2

\frac{\pi}{2}

 радианами для значения `x`, лежащего в диапазоне от -1 до 1. Метод вернёт `NaN`, если значение `x` выйдет за этот диапазон.

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

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

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


```js
Math.asin(-2); // NaN
Math.asin(-1); // -1.5707963267948966 (-pi/2)
Math.asin(0); // 0
Math.asin(0.5); // 0.5235987755982989
Math.asin(1); // 1.570796326794897 (pi/2)
Math.asin(2); // NaN
```


Для значений, меньших -1 или больших 1, метод `Math.asin()` возвращает `NaN`.

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-math.asin |

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

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

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

* `Math.acos()`
* `Math.atan()`
* `Math.atan2()`
* `Math.cos()`
* `Math.sin()`
* `Math.tan()`
Math.LN2
========

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

Свойство **`Math.LN2`** представляет натуральный логарифм из 2, приблизительно равный 0,693:


Math.LN2

=
ln
(
2
)
≈
0,693

\mathtt{\mi{Math.LN2}} = \ln(2) \approx 0,693



| Атрибуты свойства `Math.LN2` |
| --- |
| Записываемое | нет |
| Перечисляемое | нет |
| Настраиваемое | нет |

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

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

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

### Пример: использование свойства `Math.LN2`

Следующая функция возвращает натуральный логарифм из 2:


```js
function getNatLog2() {
  return Math.LN2;
}

getNatLog2(); // 0.6931471805599453
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-math.ln2 |

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

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

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

* `Math.exp()`
* `Math.log()`
* `Math.log2()` 
Экспериментальная возможность
Math.LOG2E
==========

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

Свойство **`Math.LOG2E`** представляет двоичный логарифм из e, приблизительно равный 1,442:


Math.LOG2E

=

log
2

(
e
)
≈
1,442

\mathtt{\mi{Math.LOG2E}} = \log\_2(e) \approx 1,442



| Атрибуты свойства `Math.LOG2E` |
| --- |
| Записываемое | нет |
| Перечисляемое | нет |
| Настраиваемое | нет |

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

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

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

### Пример: использование свойства `Math.LOG2E`

Следующая функция возвращает двоичный логарифм из e:


```js
function getLog2e() {
  return Math.LOG2E;
}

getLog2e(); // 1.4426950408889634
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-math.log2e |

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

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

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

* `Math.exp()`
* `Math.log()`
* `Math.log2()` 
Экспериментальная возможность
Math.sqrt()
===========

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

Метод **`Math.sqrt()`** возвращает квадратный корень числа, то есть



∀
x
≥
0
,

M
a
t
h
.
s
q
r
t
(
x
)

=

x

=
уникальный

y
≥
0

такой, что

y
2

=
x

\forall x \geq 0, \mathtt{Math.sqrt(x)} = \sqrt{x} = \text{уникальный} ; y \geq 0 ; \text{такой, что} ; y^2 = x

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

Math.sqrt(x)
```

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

`x`

Число.

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

Квадратный корень заданного числа. Если число отрицательное, то вернётся `NaN`.

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

Если значение `x` отрицательно, метод `Math.sqrt()` вернёт `NaN`.

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

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

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


```js
Math.sqrt(9); // 3
Math.sqrt(2); // 1.414213562373095

Math.sqrt(1); // 1
Math.sqrt(0); // 0
Math.sqrt(-1); // NaN
Math.sqrt(-0); // -0
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-math.sqrt |

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

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

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

* `Math.cbrt()` 
Экспериментальная возможность
* `Math.exp()`
* `Math.log()`
* `Math.pow()`
Math.cosh()
===========

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

Метод **`Math.cosh()`** возвращает гиперболический косинус числа, который может быть выражен через число e:


Math.cosh(x)

=

e
x

+

e

-
x

2

\mathtt{\operatorname{Math.cosh(x)}} = \frac{e^x + e^{-x}}{2}

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

Math.cosh(x)
```

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

`x`

Число.

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

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

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

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


```js
Math.cosh(0); // 1
Math.cosh(1); // 1.5430806348152437
Math.cosh(-1); // 1.5430806348152437
```

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

Этот метод может эмулироваться при помощи двух вызовов метода `Math.exp()`:


```js
Math.cosh =
  Math.cosh ||
  function (x) {
    return (Math.exp(x) + Math.exp(-x)) / 2;
  };
```


либо при помощи только одного вызова метода `Math.exp()`:


```js
Math.cosh =
  Math.cosh ||
  function (x) {
    var y = Math.exp(x);
    return (y + 1 / y) / 2;
  };
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-math.cosh |

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

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

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

* `Math.acosh()` 
Экспериментальная возможность
* `Math.asinh()` 
Экспериментальная возможность
* `Math.atanh()` 
Экспериментальная возможность
* `Math.sinh()` 
Экспериментальная возможность
* `Math.tanh()` 
Экспериментальная возможность
Math.atan()
===========

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

Метод **`Math.atan()`** возвращает арктангенс числа (в радианах), то есть



Math.atan
(
x
)

=
arctan
(
x
)
=
 уникальный 

y
∊

[

-

π
2

;

π
2

]

такой, что

tan
(
y
)
=
x

\mathtt{\operatorname{Math.atan}(x)} = \arctan(x) = \text{ уникальный } ; y \in \left[-\frac{\pi}{2}; \frac{\pi}{2}\right] , \text{такой, что} ; \tan(y) = x

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

Math.atan(x)
```

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

`x`

Число.

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

Метод `Math.atan()` возвращает числовое значение между 


-

π
2

-\frac{\pi}{2}

 и 


π
2

\frac{\pi}{2}

 радианами.

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

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

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


```js
Math.atan(1); // 0.7853981633974483
Math.atan(0); // 0
```

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-math.atan |

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

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

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

* `Math.acos()`
* `Math.asin()`
* `Math.atan2()`
* `Math.cos()`
* `Math.sin()`
* `Math.tan()`
String.prototype.padStart()
===========================

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

Метод **`padStart()`** заполняет текущую строку другой строкой (несколько раз, если нужно) так, что итоговая строка достигает заданной длины. Заполнение осуществляется в начале (слева) текущей строки.

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

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

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

`targetLength`

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

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

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

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

`String` заданной длины с заполнением строкой, выполненное в начале.

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


```js
"abc".padStart(10); // " abc"
"abc".padStart(10, "foo"); // "foofoofabc"
"abc".padStart(6, "123465"); // "123abc"
"abc".padStart(8, "0"); // "00000abc"
"abc".padStart(1); // "abc"
```

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

Запуск данного кода перед любым другим кодом будет создавать `String.prototype.padStart()`, если он нативно не поддерживается.


```js
// https://github.com/uxitten/polyfill/blob/master/string.polyfill.js
// https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global\_Objects/String/padStart
if (!String.prototype.padStart) {
  String.prototype.padStart = function padStart(targetLength, padString) {
    targetLength = targetLength >> 0; //floor if number or convert non-number to 0;
    padString = String(padString || " ");
    if (this.length > targetLength) {
      return String(this);
    } else {
      targetLength = targetLength - this.length;
      if (targetLength > 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);
    }
  };
}
```

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

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

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

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

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

* `String.prototype.padEnd()`
String.prototype.trimLeft()
===========================

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

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

Метод **`trimLeft()`** удаляет пробельные символы с левого конца строки.

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

str.trimLeft()
```

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

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

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

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

Следующий пример покажет строку `'foo '`:


```js
var str = " foo ";

console.log(str.length); // 8

str = str.trimLeft();
console.log(str.length); // 5
console.log(str); // 'foo '
```

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

Не является частью какого-либо стандарта. Реализована в JavaScript 1.8.1.

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

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

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

* `String.prototype.trim()`
* `String.prototype.trimRight()` 
Non-standard
String.prototype.strike()
=========================

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

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

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

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

str.strike()
```

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

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

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

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

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


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

document.write(worldString.blink());
document.write(worldString.bold());
document.write(worldString.italics());
document.write(worldString.strike());
```


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


```html
<blink>Привет, мир</blink>
<b>Привет, мир</b>
<i>Привет, мир</i>
<strike>Привет, мир</strike>
```

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

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

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

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

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

* `String.prototype.blink()`
* `String.prototype.bold()`
* `String.prototype.italics()`
String.prototype.bold()
=======================

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

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

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

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

str.bold()
```

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

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

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

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

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


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

document.write(worldString.blink());
document.write(worldString.bold());
document.write(worldString.italics());
document.write(worldString.strike());
```


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


```html
<blink>Привет, мир</blink>
<b>Привет, мир</b>
<i>Привет, мир</i>
<strike>Привет, мир</strike>
```

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

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

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

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

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

* `String.prototype.blink()`
* `String.prototype.italics()`
* `String.prototype.strike()`
String.prototype.trimRight()
============================

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

Метод **`trimRight()`** удаляет пробельные символы с правого конца строки.

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

str.trimRight()
```

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

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

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

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

Следующий пример покажет строку `' foo'`:


```js
var str = " foo ";

console.log(str.length); // 8

str = str.trimRight();
console.log(str.length); // 5
console.log(str); // ' foo'
```

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

Не является частью какого-либо стандарта. Реализована в JavaScript 1.8.1.

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

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

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

* `String.prototype.trim()`
* `String.prototype.trimLeft()` 
Non-standard
String.prototype.toLocaleUpperCase()
====================================

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

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

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

str.toLocaleUpperCase()
```

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

Метод `toLocaleUpperCase()` возвращает значение строки, преобразованное в верхний регистр согласно правилам преобразования регистра локали. Метод `toLocaleUpperCase()` не изменяет значение самой строки. В большинстве случаев он возвращает тот же результат, что и метод `toUpperCase()`, но для некоторых локалей, например, турецкой, в которой правила преобразования регистра отличаются от правил по умолчанию, принятых в Юникоде, он может вернуть другой результат.

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

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


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

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype.tolocaleuppercase |
| ECMAScript Internationalization API Specification # sup-string.prototype.tolocaleuppercase |

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

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

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

* `String.prototype.toLocaleLowerCase()`
* `String.prototype.toLowerCase()`
* `String.prototype.toUpperCase()`
String.prototype[@@iterator]()
==============================

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

Метод **`[@@iterator]()`** возвращает новый объект итератора `Iterator`, который проходит по кодовым точкам строкового значения, возвращая каждую кодовую точку в виде строкового значения.

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

string[Symbol.iterator]
```

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

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


```js
var string = "A\uD835\uDC68";

var strIter = string[Symbol.iterator]();

console.log(strIter.next().value); // "A"
console.log(strIter.next().value); // "\uD835\uDC68"
```

### Пример: использование метода `[@@iterator]()` вместе с циклом `for..of`


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

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

| Specification |
| --- |
| ECMAScript Language Specification # sec-string.prototype-@@iterator |

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

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

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

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

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

str.startsWith(searchString[, position])
```

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

`searchString`

Символы, искомые в начале данной строки.

`position`

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

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

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

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

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


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

console.log(str.startsWith("Быть")); // true
console.log(str.startsWith("не быть")); // false
console.log(str.startsWith("не быть", 9)); // true
```

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

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


```js
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;
    },
  });
}
```

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

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

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

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

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

Метод **`concat()`** объединяет текст из двух или более строк и возвращает новую строку.

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

str.concat(string2, string3[, ..., stringN])
```

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

`string2...stringN`

Строки, объединяемые в эту строку.

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

Метод `concat()` объединяет текст из двух или более строк и возвращает новую строку. Изменения в тексте в одной строке не затрагивают остальные строки.

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

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

В следующем примере несколько строк объединяются в одну.


```js
var hello = "Привет, ";
console.log(hello.concat("Кевин", ", удачного дня."));

/\* Привет, Кевин, удачного дня. \*/
```

Производительность
------------------

Настоятельно рекомендуется вместо метода `concat()` использовать операторы присваивания (en-US) (`+`, `+=`). Смотрите это сравнение производительности.

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

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

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

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

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

* `Array.prototype.concat()`
* Операторы присваивания (en-US)
String.prototype.sub()
======================

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

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

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

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

str.sub()
```

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

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

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

### Пример: использование методов `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.sub |

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

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

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

* `String.prototype.sup()`