[240426] 35장 스프레드 문법

  • ES6 도입
  • 스프레드 문법은 순회할 수 있는 이터러블에 한정
  • 스프레드 문법의 결과는 값이 아니다. … 은 연산자가 아님을 의미, 따라서 변수에 할당할 수 없다.
    • 함수 호출문의 인수 목록
    • 배열 리터럴의 요소 목록
    • 객체 리터럴의 프로퍼티 목록에서만 사용 가능

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

// rest 파라미터와 헷갈릴 수 있음
// rest는 인수들의 목록을 배열로 전달받기 위해 ...를 붙임
function foo(...rest) {
	console.log(rest); // 배열로 전달 받음
}

// 스프레드는 이터러블을 펼쳐서 개별적인 값들의 목록을 만듬
// rest 와 반대 개념
// [1,2,3] -> 1,2,3
foo(...[1,2,3]); 

배열 리터럴 내부에서 사용하는 경우

  • 유사배열은 이터러블 사용 X
const arr1 = [1,4];
const arr2 = [2,3];

arr1.splice(1,0,...arr2);

객체 리터럴 내부에서 사용하는 경우

// { x:1, y: 100 }
const merged = { ...{x:1, y:2}, y:100 };

Categories:

Updated:

Leave a comment