JavaScript에서 문자열을 반복하는 방법은 크게 두 가지가 있습니다. 하나는 string.repeat() 메서드를 사용하는 방법이고, 다른 하나는 fill() 메서드를 사용하는 방법입니다. 지금부터 두 방법을 자세히 살펴보겠습니다.
1. repeat() 메서드
문법
string.repeat(number);
이 메서드는 숫자를 매개변수로 받아, 해당 횟수만큼 문자열을 반복합니다.
2. Array.fill()과 join() 조합
문법
Array(number).fill(string).join('');이 방법은 먼저 지정한 숫자만큼의 슬롯(공간)을 가진 배열을 생성합니다. 그런 다음 각 슬롯에 제공된 문자열을 채워 넣고, 마지막으로 join() 메서드로 배열의 모든 요소를 하나의 문자열로 연결하여 반복된 문자열을 만듭니다.
예제 1: repeat() 메서드 사용
다음 예제에서는 repeat() 메서드에 숫자 3을 인자로 전달합니다. 따라서 아래 출력 결과에서 볼 수 있듯이 문자열이 3번 반복됩니다.
<html> <body> <script> const str = 'Tutorix, ' var res = str.repeat(3); document.write(res); </script> </body> </html>
출력 결과
Tutorix, Tutorix, Tutorix,
예제 2: Array.fill()과 join() 사용
다음 예제에서는 먼저 3개의 슬롯을 가진 배열을 생성하고, 해당 배열의 모든 슬롯에 주어진 문자열을 채웁니다. 이후 join() 메서드를 사용해 배열의 요소들을 연결하면 아래와 같은 출력 결과를 얻을 수 있습니다.
<html>
<body>
<script>
const str = 'Tutorialspoint '
var d = Array(3).fill(str).join('')
document.write(d);
</script>
</body>
</html>출력 결과
Tutorialspoint Tutorialspoint Tutorialspoint
정리
두 방법 모두 동일한 결과를 얻을 수 있지만, repeat() 메서드가 코드가 더 간결하고 직관적이며 성능 면에서도 유리하기 때문에 일반적으로 권장됩니다. 반면 fill() + join() 방식은 ES6 이전 환경에서 폴리필 없이 유사한 기능을 구현해야 하는 경우에 유용하게 활용할 수 있습니다.