본문 바로가기

자바스크립트

[Javascript] - 나머지 매개변수와 spread 문법

 

나머지 매개변수 ...

 

- 상당수의 자바스크립트 내장 함수는 인수의 개수에 제약을 두지 않는다 . 

 

 

위 예제 처럼 함수 정의 방법과 상관없이 함수에 넘겨주는 인수의 개수엔 제약이 없다.

함수를 정의할 땐 인수를 두개만 받도록 하고 실제 함수를 호출할 땐 이보다 더 많은 여분의 인수를 전달했지만

에러가 발생하지 않는다  다만 반환 값은 처음 두 개의 인수만을 사용해 계산된다.

 

 

위 예제처럼 여분의 매개변수는 그 값들을 담을 배열 이름을 마침표 세 개 ... 뒤에 붙여주면 함수 선언문에 포함 시킬 수 있다 이때 마침표 세 개 ...는 나머지 매개변수들을 한데 모아 배열에 집어넣으라는 의미이다 .

 

위 예제 처럼 앞 부분의 매개변수는 변수로 그 이외의 매개변수들은 배열로 모을 수도 있다.

 

 

이때 주의 할 점은 나머지 매개 변수는  남아있는 인수를 모으는 역할을 하기 때문에 항상 마지막에 있어야 한다.

 

arguments 변수

 

arguments 라는 특별한 유사 배열 객체를 이용하면 인덱스를 사용해 모든 인수에 접근할 수 있다 

나머지 매개변수는 비교적 최신의 문법이다 과거엔 함수의 인수 전체를 얻어내는 방법이 arguments를 사용하는 것 밖에 없었다 물론 지금도 arguments를 사용할 수 있다  arguments는 유사 배열 객체이면서 이터러블 (반복 가능한) 객체이다