blob: 119445c14b193009c92d462845e12f947f32a6b7 (
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
46
|
---
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)
(repeat count는 infinity보다 작아야하며, 최대 문자열 크기를 넘길 수 없습니다.)
RangeError: Invalid count value (Chrome)
</pre>
<h2 id="에러_형식">에러 형식</h2>
<p>{{jsxref("RangeError")}}</p>
<h2 id="무엇이_잘못되었을까">무엇이 잘못되었을까?</h2>
<p> {{jsxref("String.prototype.repeat()")}} 메소드가 사용되었습니다. 이 메소드는 문자열을 반복하는 수를 예측하는 카운트 파라메터를 가지고 있었습니다. 그리고 이 파라메터는 0보다 커야하며, 양의 {{jsxref("Infinity")}} 보다 작아야 했으며, 음수는 허용되지 않았습니다. 이 값의 허용 범위는 이렇게 표현될 수 있습니다. : [0, +∞). </p>
<p>결과인 문자열은 최대 문자열 크기보다 클 수 없지만, JavaScript 에서는 다를 수 있습니다. Firefox (SpiderMonkey) 에서의 최대 문자열 크기는 2^28 -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' (숫자는 정수로 변환될 것입니다.)
</pre>
<h2 id="참조">참조</h2>
<ul>
<li>{{jsxref("String.prototype.repeat()")}}</li>
</ul>
|