하루에 한 문제
rest parameter (ECMAScript 2015) 본문
만약 함수의 인자가 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
'Dev > JavaScript' 카테고리의 다른 글
shorthand properties (ECMAScript 2015) (0) | 2021.04.29 |
---|---|
spread operator (펼치기연산자, 전개연산자) (ECMAScript2015) (0) | 2021.04.29 |
default parameter (ECMAScript 2015) (0) | 2021.04.29 |
forEach, map, reduce (0) | 2021.04.29 |
template literal (ECMAScript2015) (0) | 2021.04.28 |
Comments