자바스크립트의 전개(Spread) 연산자는 배열을 개별 요소로 펼쳐서 확장할 수 있게 해주는 강력한 문법입니다. 사용법은 매우 간단한데, 배열 이름 앞에 점 세 개(...)를 붙이기만 하면 됩니다.
전개 연산자는 주로 다음과 같은 상황에서 활용됩니다.
- 두 개 이상의 배열을 하나로 병합할 때
- 기존 배열을 변경하지 않고 새 배열을 복사할 때
- 배열 요소를 함수의 인수로 전달할 때
예제 코드
아래 예제에서는 전개 연산자를 사용하여 숫자 배열과 문자열 배열 두 개를 새로운 배열 하나로 합치는 과정을 보여줍니다.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
body {
font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
}
.sample,
.result {
font-size: 18px;
font-weight: 500;
color: red;
}
.result {
color: rebeccapurple;
}
</style>
</head>
<body>
<h1>JavaScript Spread Operator</h1>
<div class="sample"></div>
<div class="result"></div>
<button class="Btn">CLICK HERE</button>
<h3>
Click on the above button combine the two arrays using spread operator
into a new one
</h3>
<script>
let resultEle = document.querySelector(".result");
let sampleEle = document.querySelector(".sample");
let arr1 = [1, 2, 3, 4, 5];
let arr2 = ["A", "B", "C", "D", "E"];
sampleEle.innerHTML = "arr1 = " + arr1 + "<br> arr2 = " + arr2;
document.querySelector(".Btn").addEventListener("click", () => {
let arr3 = [...arr1, ...arr2];
resultEle.innerHTML = "arr3 = " + arr3;
});
</script>
</body>
</html>실행 결과
페이지가 로드되면 먼저 원본 배열 두 개가 화면에 표시됩니다.

'CLICK HERE' 버튼을 클릭하면 전개 연산자 [...arr1, ...arr2]를 통해 두 배열이 하나로 합쳐진 새로운 배열 arr3가 출력됩니다.

핵심 정리
위 예제의 핵심은 바로 이 한 줄입니다.
let arr3 = [...arr1, ...arr2];
전개 연산자는 기존 배열을 수정하지 않고 새로운 배열을 생성하기 때문에, 불변성(immutability)을 유지해야 하는 리액트(React) 같은 모던 프론트엔드 환경에서도 널리 사용됩니다. concat() 메서드보다 직관적이고 가독성이 뛰어나다는 장점도 있습니다.