본문 바로가기

JavaScript

[JavaScript] ... 문법

자바스크립트에서 ... 을 사용하는 문법이 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 해주는 특징이 있다. 

반응형