반응형
Rest Parameters : 나머지 매개변수
함수를 만들 때 ...이라는 기호를 파라미터 왼쪽에 추가가능합니다.
이렇게 파라미터 부분에 ...를 붙여서 정의한 매개변수를 나머지 매개변수라고 하는데, 이 구문을 사용할 경우, 함수에 전달된 전달인자들을 배열로 전달받게 됩니다.
function 함수2(...파라미터들){
console.log(파라미터들)
}
함수2(1,2,3,4,5,6,7);
위 코드를 실행해보면 파라미터들이라는 변수를 출력해줍니다.
파라미터들이라는 변수는 모든 파라미터를 [] array 안에 담고 있습니다.
이게 바로 ES6 환경에서 쓸 수 있는 rest 파라미터입니다.
원하는 파라미터 왼쪽에 ... 기호를 붙여주시면 "이 자리에 오는 모든 파라미터를 [] 중괄호로 감싸준 파라미터" 라는 뜻입니다.
...을 다른 자리에 사용한다면
그 자리에 함수에 있는 파라미터를 [] array 안에 감싸준다고 했으면다른 자리에 쓰면 어떻게 될까요?
function 함수2(a, b, ...파라미터들){
console.log(파라미터들)
}
함수2(1,2,3,4,5,6,7);
위 코드를 실행해보면 [3,4,5,6,7]이 출력됩니다.
첫 두개의 파라미터는 a, b로 쓰는데
a,b 그 뒤에 나오는 모든 파라미터는 중괄호에 감싸서 파라미터들이라는 array가 됩니다.
주의사항
rest(나머지) 파라미터라는 뜻대로 나머지 부분에만 사용가능합니다.
그니까 항상 파라미터가 여러개면 rest는 항상 마지막 파라미터로 넣으셔야합니다.
function 함수2(a, ...파라미터들, b){
console.log(파라미터들)
}
이렇게 사용하시면 에러난다는 소리입니다.
function 함수2(a, ...파라미터들, ...파라미터들2){
console.log(파라미터들)
}
또는, 이러식으로도 불가능합니다.. 2개 이상 사용할 수 없습니다.
Rest Vs Spread
... 를 사용한 것은 사실 rest 뿐만 아니라 spread 연산자에서도 사용하는걸 알 수 있는데,
함수 파라미터 자리에 붙으면 rest, 나머지는 spread 라고 생각하시면 됩니다.
반응형
'Javascript' 카테고리의 다른 글
자바스크립트 JavaScript : 생성자(Constructor) (1) | 2024.04.02 |
---|---|
자바스크립트 JavaScript : Reference data type (0) | 2024.04.01 |
자바스크립트 Javascript : Spread Operator (0) | 2024.03.30 |
자바스크립트 JavaScript : 변수(var let const) (0) | 2024.03.30 |
자바스크립트 JavaScript : this (0) | 2024.03.30 |