본문 바로가기
코딩일기/React-Native

[ES6 기초] Rest Operator

by 욱파이어니어 2021. 5. 10.
728x90
반응형

Rest Operator

 

function printNum(num1, num2){
    console.log(num1+" "+num2);
}

printNum(1,2,3,4,5);

위처럼 실행 하게 되면 출력 되는 값은 

1 2

이다. (사실 자바였음 오류남)

 

하지만

function printNum(num1, num2){
    console.log(arguments);
}

printNum(1,2,3,4,5);

위처럼 하게 되면 하게 되면 결과는 

Arguments(5) [1, 2, 3, 4, 5, callee: ƒ, Symbol(Symbol.iterator): ƒ]


이렇게 출력이 된다.


※입력 받는 매개변수를 모두 포함하고 있는 객체를 arguments라고 한다.

즉 위와 같은 상황에서 argument는 1,2,3,4,5를 모두 가지고 있는것이다.

 

그럼 rest operator는 무엇인지 궁금해할텐데 rest operator는 

 

function printNum(num1, ...num2){
    console.log(num1, num2);
}

printNum(1,2,3,4,5);

위처럼 함수를 원래 받기로한 매개변수 인자보다 넘쳐서 주게 되면
num1은 그대로 출력을 하고 나머지(rest)를 num2에다가 집어 넣는것이다.
이를 function printNum(num1, ...num2) 로 표현을 한것이다.

 

그래서 위의 실행 화면은 아래와 같다.

 

1 (4) [2, 3, 4, 5]

 

1은 num1 이고 나머지 [2,3,4,5]는 num2에 해당 되는것이다.

반응형