반응형
자바스크립트에서 ... 을 사용하는 문법이 2개가 있다.
하나는 rest 파라미터, 다른 하나는 spread operator 가 있다.
rest 파라미터
함수에 파라미터를 넘겨줄 때, 몇 개의 파라미터가 들어갈지 미리 정의할 수 없는 경우가 있다.
그럴 때 사용하는 것이 rest 파라미터이다.
function addAll(...num) {
let sum = 0;
num.forEach(element => {
sum+= element;
})
return sum;
}
addAll(1,2,3,4,5);
addAll(1,2,3,4,5,6,7,8,9,10);
함수 파라미터의 명칭 앞에 ... 을 붙여주면 파라미터를 여러 개를 받는다는 뜻이다.
특징으로는
- 일반 파라미터 뒤에만 올 수 있다.
function addAll(num, ...otherNum){ // 가능
// ...
}
function addAll(...num, ...otherNum){ // 불가능, 에러 발생
// ...
}
- rest 파라미터 자리에 집어넣은 값들은 전부 [] 안에 담겨있다.
Spread operator
array 혹은 object의 괄호를 벗기고 싶은 경우에 Spread operator를 사용한다.
let arr = [3,4,5];
let arr2 = [...arr];
괄호를 벗겨주는 ...spread는 array와 object 자료를 괄호를 풀어서 return 해주는 특징이 있다.
반응형
'JavaScript' 카테고리의 다른 글
[JavaScript] 자바스크립트의 원시 타입 (1) | 2022.06.18 |
---|---|
[JavaScript] Destructuring 문법 (0) | 2022.06.13 |
[JavaScript] 콜스택 (1) | 2022.06.04 |
[JavaScript] 제너레이터와 이터레이터 (4) | 2022.05.20 |
[JavaScript] ES6에서의 순회와 이터러블 (2) | 2022.05.19 |