자바스크립트에서 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: 사용 예시는 어떻게 되나요?
```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()`는 문자열을 원하는 횟수만큼 반복하여 새 문자열을 쉽게 만드는 메서드로, 반복 횟수에 숫자 변환 제한, 예외 처리 규칙이 있으니 주의해서 사용합니다.
이 메서드는 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
조회수: 148 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.