Spread Syntax 전개 구문

doggoddog·2020년 9월 21일
0

함수에서 갯수가 정해지지 않은 매개변수를 표현할 때 사용할 수 있다.

function test(a, b, ...args) {
  console.log(args)
  console.log(...args)
}
test(1,2,3,4)
/*
[3, 4]
3 4
*/

그냥 args라고 쓰면 배열로 다뤄진다.
때문에 args[0]같이 index를 지정하여 사용할 수 있다.
앞에 ...을 붙이면 매개변수들이 나열되기 때문에 ...을 붙여서 나머지 매개변수들도 하나씩 함수에서 다룰 수 있다.
주의할 점은 ...args는 매개변수로 다뤄지기 때문에 string도 array도 아니다.
따라서 console.log나 다른 함수에 대입하는 것 외의 명령어에는 사용에 제약이 따른다. 예를 들어 ...args를 다른 변수에 선언하는 것, ...args 자체를 리턴하는 것, typeof(...args), ...args[0] 등을 입력하면 SyntaxError가 뜬다.

profile
----------------------------

0개의 댓글