[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 };
Leave a comment