하루에 한 문제

rest parameter (ECMAScript 2015) 본문

Dev/JavaScript

rest parameter (ECMAScript 2015)

dkwjdi 2021. 4. 29. 14:43

만약 함수의 인자가 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는 유사배열객체이기 때문에 나머지 매개변수를 관리하는 것은 불편하기도 하고 번거롭기도 하다.

 

이를 위해 ECMAScript 2015에서 새로나온 문법을 한번 보자.

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

 

그리고 ...표현은 항상 매개변수 마지막 자리에 위치해야 한다!

 

출처

developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Functions/rest_parameters

Comments