02. Rest 파라미터 - 스프레드(Spread) 연산자와 Rest  파라미터  


Spread 연산자로 파라미터를 작성한 형태를 Rest 파라미터라고 한다.
function(param, paramN, ...rest);
const number = [1,2,3]
getNum(...number);

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

결과 값
num1 = 1
num2 = 2
num3 = 3

호출하는 함수의 파라미터에 3개의 값을 쓰고 
호출받는 함수의 파라미터를 2개의 값만 썼을 경우 3번째 파라미터 값은 설정되지 않는다.(예제1)
이때, rest 파라미터를 사용함으로써 배열 엘리먼트로 저장할 수 있다.(예제2)
(예제1)

getNum(...[1,2,3]);

function getNum(num){
    console.log(num);
}

결과 값
1

=============================================
(예제2)

getNum(...[1,2,3]);

function getNum(...rest){
    console.log(rest);
}

결과 값
[1,2,3]

...rest라고 적어 둔 arguments 명은 변경되어도 된다. (...number, ...test 등등)

Spread와 Rest가 '...'으로 표현하는게 같아서 뭐가 다르지? 생각할 수도 있다.
기능적으로 차이가 있다.

Spread 파라미터는 분리,전개
1.호출하는 함수의 파라미터에 사용한다.
2.파라미터로 사용 시 전개하는 기능을 한다.

Rest 파라미터는 전개된 엘리먼트 배열로 설정
1.호출받는 함수의 파라미터에 사용한다.
2.파라미터 값을 설정하고 설정되지 못한 나머지 파라미터 값들을 배열에 설정한다. 


+ Recent posts