Rest Parameter vs Spread Syntax

백승용·2020년 10월 8일
0

Rest Parameter

  • 기본 문법 매개변수 앞의 ...을 붙여서 정의한 매개변수를 의미한다.
  • 함수에 전달된 인수들의 목록을 배열로 전달 받는다.
function funTest(...rest){
  console.log(Array.isArray(rest)); //true
  console.log(rest); // [ 1, 2, 3, 4, 5 ]
}
funTest(1, 2, 3, 4, 5);


function funTest(param1,param2,...rest){
  console.log(param1); //1
  console.log(param2); //2
  console.log(rest); // [3, 4, 5 ]
}
funTest(1, 2, 3, 4, 5);

Spread Syntax

- 문법의 대상은 이터러블이어야 한다.
- (...(배열,문자열)) 대상에 객체는 안된다.
console.log(...[1, 2, 3]) // 결과 : 1 2 3
console.log(...'Hello'); // 결과 : H e l l o

차이점

Rest Parameter는 함수 내부에 배열로 전단한다.

function restParam(param1,...rest){
  console.log(param1); // 결과 : 1
  console.log(rest);   // 결과 : [2,3,4]
}
restParam(1,2,3,4);

Spread Syntax는 대상을 개별적인 인자로 각각의 매개변수에 전달된다.

function spreadFun(x,y,z){
  console.log(x);
  console.log(y);
  console.log(z);
}

spreadFun(...[1,2,3]);

참고링크

0개의 댓글