2026년 상식닷컴 선정 식당 & 카페 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요

자바스크립트에서 String.prototype.repeat()의 사용법은 무엇인가요?

_____
Q1: String.prototype.repeat() 메서드는 무엇인가요?
A1: repeat() 메서드는 문자열을 지정한 횟수만큼 반복하여 새 문자열을 생성합니다. 원본 문자열은 변경되지 않습니다.

Q2: repeat() 메서드의 기본 문법은 어떻게 되나요?
A2:
```javascript
str.repeat(count)
```
- `str`: 반복할 문자열
- `count`: 문자열을 반복할 횟수 (0 이상 정수)

Q3: repeat() 메서드는 어떤 값을 반환하나요?
A3: `count`만큼 반복된 새 문자열을 반환하며, `count`가 0이면 빈 문자열을 반환합니다.

Q4: 반복 횟수(count)에 음수나 소수, 문자열을 넣으면 어떻게 되나요?
A4:
- 음수이거나 Infinity면 `RangeError`가 발생합니다.
- 소수를 넣으면 소수점 아래는 버려져 정수로 처리됩니다(예: 3.9 → 3).
- 문자열 등은 숫자로 변환된 후 처리됩니다. 변환할 수 없는 경우 `NaN`이 되어 0으로 처리됩니다.

Q5: 사용 예시는 어떻게 되나요?
A5:
```javascript
console.log("abc".repeat(3)); // "abcabcabc"
console.log("abc".repeat(0)); // ""
console.log("abc".repeat(2.5)); // "abcabc" (2로 처리)
```

Q6: 빈 문자열에 repeat()를 호출하면 어떻게 되나요?
A6: 아무리 반복해도 빈 문자열을 반환합니다.
```javascript
''.repeat(5); // ""
```

Q7: 최대 반복 횟수 제한이 있나요?
A7: ECMAScript 명세상 최대 반복 길이는 2^53 - 1 (약 9경) 문자이며, 브라우저나 환경별로 메모리 제한 때문에 실제 반복 횟수에 제한이 있을 수 있습니다.

Q8: 지원하는 환경은 어떻게 되나요?
A8: 대부분의 최신 브라우저 및 Node.js에서 지원합니다. IE에서는 지원되지 않습니다.

---

요약: `repeat()`는 문자열을 원하는 횟수만큼 반복하여 새 문자열을 쉽게 만드는 메서드로, 반복 횟수에 숫자 변환 제한, 예외 처리 규칙이 있으니 주의해서 사용합니다.
`String.prototype.repeat()()` 메서드는 자바스크립트에서 문자열을 특정 횟수만큼 반복하여 새로운 문자열을 생성하는 데 사용됩니다.

이 메서드는 ES6(ECMAScript 201

5)에서 도입되었으며, 간단하고 직관적인 방법으로 문자열을 반복할 수 있습니다.

사용법 `repeat()` 메서드는 다음과 같은 구문을 가지고 있습니다: ```javascript str.repeat(count); ``` - `str`: 반복하고자 하는 원본 문자열입니다.

- `count`: 문자열을 반복할 횟수를 나타내는 정수입니다.

이 값은 0 이상의 정수여야 하며, 음수나 Infinity와 같은 비정상적인 값이 들어올 경우 `RangeError`가 발생합니다.

반환값 `repeat()` 메서드는 원본 문자열을 `count`만큼 반복한 새로운 문자열을 반환합니다.

만약 `count`가 0인 경우, 빈 문자열(`""`)을 반환합니다.

예제 1. 기본 사용법 ```javascript let str = "Hello"; let repeatedStr = str.repeat(

3); console.log(repeatedStr); // "HelloHelloHello" ```

2. 0으로 반복하기 ```javascript let str = "World"; let repeatedStr = str.repeat(0); console.log(repeatedStr); // "" ```

3. 음수나 비정상적인 값 사용하기 ```javascript let str = "Error"; try { console.log(str.repeat(-1)); // RangeError: Invalid count value } catch (e) { console.log(e.message); // "Invalid count value" } try { console.log(str.repeat(Infinity)); // RangeError: Invalid count value } catch (e) { console.log(e.message); // "Invalid count value" } ```

4. 소수점 사용하기 `count`에 소수점을 사용하면, 소수점 이하가 버려지고 정수로 처리됩니다.

```javascript let str = "Test"; let repeatedStr = str.repeat(2.

5); console.log(repeatedStr); // "TestTest" ```

5. 문자열 길이 제한 `repeat()` 메서드는 반환되는 문자열의 길이에 제한이 없습니다.

그러나, 너무 큰 `count` 값을 사용하면 메모리 문제를 일으킬 수 있습니다.

```javascript let str = "A"; let repeatedStr = str.repeat(1000000); // 1,000,000개의 "A" console.log(repeatedStr.length); // 1000000 ``` 활용 예시 1. 패턴 생성 ```javascript let pattern = "*".repeat(

10); console.log(pattern); // " " ```

2. 구분자 생성 ```javascript let separator = "-".repeat(30); console.log(separator); // "------------------------------" ```

3. UI 요소 생성 ```javascript function createProgressBar(percentage) { const totalBars = 20; const filledBars = Math.round((percentage / 100) * totalBars); const emptyBars = totalBars - filledBars; return "[" + " ".repeat(filledBars) + " ".repeat(emptyBars) + "]"; } console.log(createProgressBar(7

5)); // "[ ]" ``` 결론 `String.prototype.repeat()` 메서드는 문자열을 간편하게 반복할 수 있는 유용한 도구입니다.

다양한 상황에서 문자열을 조작할 때 유용하게 사용될 수 있으며, 코드의 가독성을 높이는 데 기여합니다.

이 메서드를 활용하여 문자열을 효과적으로 다루는 방법을 익히면, 자바스크립트 프로그래밍에서 더 많은 가능성을 열 수 있습니다.

작성자: 박서연 [비회원] | 작성일자: 1년 전 2024-09-08 14:47:28
조회수: 148 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.