ES6부터 arguments보다 더 쉬운 문법인 Rest Parameter를 제공합니다.
arguments를 사용한 함수에서 새로운 파라미터를 추가할 때 함수를 수정해야 하는 불편함이 있습니다.
하지만 Rest Parameter를 사용하면 새로운 파라미터를 추가할 때 쉽게 새로운 파라미터를 추가하거나 제거할 수 있습니다.
arguments는 모든 파라미터를 [ ] 에 담아서 보여주지만 실제 배열은 아닙니다.
유사배열입니다. 실제 배열로 사용하기 위해서는 변환작업이 필요합니다.
Rest Parameter는 함수를 만들 때 '...' 이라는 점 세개를 사용한 스프레드(Spread)연산자를 사용할 수 있습니다.
특정 부분 이상 입력된 파라미터들을 묶어서 [ ]에 담아 보여주며 실제 배열로 나타내줍니다. 따로 배열로 전환하는 작업이 필요없습니다.
// arguments 사용하여 입력된 값을 하나씩 출력
function fc1(a, b, c, d, e){
for (var i=0; i<arguments.length; i++){
console.log(arguments[i]);
}
}
fc1(2, 3, 4, 5, 6);
-> 출력값
2
3
4
5
6
-----------------------------------
// Rest Parameter 사용하여 배열로 나타냄
function fc2(a, b, ...params){ // a, b값은 일반 arguments로, 이후 작성된 값은 Rest Parameter로
console.log(params) // params에 저장된 값만 보여준다.
}
fc2(1,2,3,4,5,6,7,8);
-> 출력값
[3,4,5,6,7,8]
728x90
'Web > CS공부' 카테고리의 다른 글
[JavaScript] 생성자(Constructor) 만들기 (0) | 2022.02.13 |
---|---|
[JavaScript] 객체지향문법 - Primitive / Reference data type (0) | 2022.02.11 |
[JavaScript] apply, call 함수 알아보기 (0) | 2022.01.26 |
[JavaScript] 스프레드 오퍼레이터(Spread Operator) (0) | 2022.01.26 |
[JavaScript] 문자 다루는 방법(Template Literals) (0) | 2022.01.26 |