aboutsummaryrefslogtreecommitdiff
path: root/files/ru/web/javascript/reference/errors/resulting_string_too_large/index.html
blob: c3127a2dbf0179fa4577221ed31b3e70038bbd8f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
---
title: 'RangeError: repeat count must be less than infinity'
slug: Web/JavaScript/Reference/Errors/Resulting_string_too_large
translation_of: Web/JavaScript/Reference/Errors/Resulting_string_too_large
---
<div>{{jsSidebar("Errors")}}</div>

<h2 id="Сообщение">Сообщение</h2>

<pre class="syntaxbox">RangeError: repeat count must be less than infinity and not overflow maximum string size (Firefox)

RangeError: Invalid count value (Chrome)
</pre>

<h2 id="Тип_ошибки">Тип ошибки</h2>

<p>{{jsxref("RangeError")}}</p>

<h2 id="Что_пошло_не_так">Что пошло не так?</h2>

<p>Был использован метод {{jsxref("String.prototype.repeat()")}}, с параметром <code>count</code>, указывающим количество повторений строки. Параметр может принимать значения между 0 и положительной {{jsxref("Infinity")}}, и не может быть отрицательным числом. Диапазон допустимых значений может быть описан следующим образом: [0, + ∞).</p>

<p>Полученная строка также не может превышать максимальный размер строки, который может отличаться в различных движках JavaScript. В Firefox (SpiderMonkey) максимальный размер строки составляет 2<sup>28</sup> -1 (<code>0xFFFFFFF</code>).</p>

<h2 id="Примеры">Примеры</h2>

<h3 id="Неверно">Неверно</h3>

<pre class="brush: js example-bad">'abc'.repeat(Infinity); // RangeError
'a'.repeat(2**28);      // RangeError
</pre>

<h3 id="Верно">Верно</h3>

<pre class="brush: js example-good">'abc'.repeat(0);    // ''
'abc'.repeat(1);    // 'abc'
'abc'.repeat(2);    // 'abcabc'
'abc'.repeat(3.5);  // 'abcabcabc' (count will be converted to integer)
</pre>

<h2 id="Смотрите_также">Смотрите также</h2>

<ul>
 <li>{{jsxref("String.prototype.repeat()")}}</li>
</ul>