어제의 나보다 성장한 오늘의 나

[자바스크립트] rest parameter, 매개변수가 많이 넘어 왔을 때 처리 본문

공부/JavaScript && jquery

[자바스크립트] rest parameter, 매개변수가 많이 넘어 왔을 때 처리

NineOne 2021. 4. 26. 23:58

만약 함수의 인자가 function(arg1, arg2)와 같이 선언되었는데 함수 인자보다 많은 파라미터의 값이 온다면 어떻게 할까? ES6 이전에는 다음과 같이 arguments를 이용해서 사용하였다.

function f (x, y) {
  var rest = Array.prototype.slice.call(arguments, 2)
  console.log(rest)
}
f(1, 2, true, null, undefined, 10)

하지만 arguments로 처리하는 거는 불안전하고, 번거로운 점이 있어서 ES6에서 새로운 문법이 나왔다.

const f = function (x, y, ...rest) {
  console.log(rest)
}
f(1, 2, true, null, undefined, 10)

다음과 ...으로 선언하면 예제의 1,2를 빼고 나머지 값을 취합해서 rest가 저장하고 있다.

 

출처

Comments