본문 바로가기
코드잇 스프린트 6기/JS Q.R 스터디

[JS Q.R 스터디] 스프레드 문법

by 학습하는 청년 2024. 4. 15.

최종 수정 : 2024-04-15

35장. 스프레드 문법

스프레드 문법(spread syntax, 전개 문법) ...은 하나로 뭉쳐 있는 여러 값들의 집합을 펼쳐서 개별적인 값들의 목록으로 만든다. 스프레드 문법의 결과물은 값으로 사용할 수 없다. 

console.log(...[1, 2, 3]); // 1 2 3
console.log(...'Hello'); // h e l l o

console.log(...new Map([['a', '1'], ['b', '2']]); // ['a', '1'] ['b', '2']
console.log(...new Set([1, 2, 3]); // 1 2 3

 

1. 함수 호출문의 인수 목록에서 사용하는 경우

var arr = [1, 2, 3];
const max = Math.max(...arr); // 3

스프레드 문법을 사용하면 간결하고 가독성이 좋다.

 

스프레드 문법은 Rest 파라미터와 형태가 동일하여 혼동할 수 있으므로 주의할 필요가 있다. Rest 파라미터는 함수에 전달된 인수들의 목록을 배열로 전달받기 위해 매개변수 이름 앞에 ...을 붙이는 것이므로, 서로 반대의 개념이다.

function foo(...rest) {
  console.log(rest); // 1, 2, 3 -> [1, 2, 3]
}

[1, 2, 3] -> 1, 2, 3
foo(...[1, 2, 3]);

댓글