프론트엔드 개발 · 기초
JavaScript의 Rest 파라미터와 Spread 연산자의 차이점과 사용법을 설명해주세요.
힌트 · 함수 파라미터에서의 사용과 배열/객체 조작에서의 사용을 구분해보세요.
Rest 파라미터Spread 연산자함수 인자배열 확장가변 인자
모범답안
Rest 파라미터와 Spread 연산자는 둘 다 ...을 사용하지만, 역할이 다릅니다.
Rest 파라미터는 함수를 정의할 때 사용하며, 함수에 전달되는 여러 개의 인수를 하나의 배열로 묶어줍니다. 예를 들어 function sum(...numbers)처럼 사용하면, numbers는 함수에 전달된 모든 인수를 담은 배열이 됩니다. 가변 인자 함수를 만들 때 유용하죠.
반면 Spread 연산자는 배열이나 객체를 확장하는 데 사용됩니다. 배열을 다른 배열 안에 펼쳐 넣거나, 객체의 속성을 다른 객체에 복사할 때 활용할 수 있습니다. 예를 들어 [...arr1, ...arr2]는 arr1과 arr2의 모든 요소를 합쳐 새로운 배열을 만듭니다. 객체에서도 마찬가지로 ({...obj1, ...obj2})처럼 사용해서 속성을 합칠 수 있습니다.
요약하자면, Rest 파라미터는 함수 정의 시 인수를 묶는 역할, Spread 연산자는 배열이나 객체를 펼쳐서 확장하는 역할을 합니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.