JavaScript

[JavaScript/ES6] 함수의 default 파라미터 / 함수의 arguments / Rest 파라미터

김나나_ 2024. 8. 26. 16:50

default 파라미터

function plus (a, b = 5) {
   console.log(a + b);
}
plus(1); // 6 출력

 

b 의 값을 넘겨주지 않았지만, default 파라미터로 5를 지정했기 때문에 1 + 5 = 6 이 출력된다.

 

- 수학 연산자 사용 가능

ex) b = 5 * 2

 

- 다른 파라미터와 연산도 가능

function plus (a, b = 5 * a) {
   console.log(a + b);
}
plus(2); // 2 + 5 * 2 = 12 출력

 

- 함수입력 가능

function plus (a, b = test() ) {
   console.log(a + b); // 2 + 10 = 12 출력
}
plus(2);

function test () {
   return 10
}

 

함수의 arguments

함수의 모든 파라미터들을 한 번에 다루고 싶을 때 사용

function test (a, b, c){
   console.log(arguments);
}

test(1, 2, 3);

 

 

하나씩 출력하고 싶다면 arguments[0], arguments[1], arguments[2]

또는 for 문 사용

function test (a, b, c){
 for (var i = 0; i < arguments.length; i++) {
     console.log(arguments[i]);
 }  
}

test(1, 2, 3);

 

 

더 편하게 함수의 파라미터를 다루고 싶다면? rest 파라미터 문법 이용 !

 

Rest 파라미터

function test (...params){
   console.log(params);
}

test(1, 2, 3, 4, 5, 6);

 

params 에 모든 파라미터를 array 안에 담고 있다.

 

function test (a, b, ...params){
   console.log(params);
}

test(1, 2, 3, 4, 5, 6); // [3, 4, 5, 6] 출력

 

파라미터가 여러 개면 rest 는 항상 마지막 파라미터로 넣어야 함

⚡ rest 파라미터는 2개 이상 사용 X