자바스크립트 와 타입스크립트/바닐라 자바스크립트와 타입스크립트
rest 파라미터와 스프레드 문법 차이
현규띠
2022. 8. 16. 15:26
https://jeong-pro.tistory.com/117
Rest 파라미터와 Spread 연산자 정리하기 (feat. 함수의 가독성을 높이는 방법)
Rest 파라미터 (Rest Parameter) Rest 파라미터는 Spread 연산자(...)를 사용하여 함수의 파라미터를 작성한 형태를 말한다. 즉, Rest 파라미터를 사용하면 함수의 파라미터로 오는 값들을 "배열"로 전달받
jeong-pro.tistory.com
함수선언식의 소괄호 안에 ...이 있으면 배열로 맵핑
소괄호에 ...이 있거나 다른곳에 있으면 배열 풀기
* 함수의 파라미터로 사용하는 방법
1
2
3
4
5
6
7
8
|
// ES6
function foo(x, y, z) {
console.log(x); // 1
console.log(y); // 2
console.log(z); // 3
}
const arr = [1, 2, 3];
foo(...arr);// Array를 받아서 각 매개변수로 전달되었다.
|
Rest와 헷갈리지 않기!
Rest는 함수 선언문의 파라미터에 Spread(...)연산자를 이용해서 받으면 가변인자를 받아 배열로 만들어서 사용하는 것이고, 함수 호출문의 파라미터에 Spread(...)연산자를 이용해서 호출하면 배열이 해당 매개변수로 각각 매핑되는 것은 다르다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
//Rest
function foo(param, ...rest) {
console.log(param); // 1
console.log(rest); // [ 2, 3 ]
}
foo(1, 2, 3);
//Spread호출
function bar(x, y, z) {
console.log(x); // 1
console.log(y); // 2
console.log(z); // 3
}
bar(...[1, 2, 3]);
|