ES6에서 추가된 문법
1. Rest Operator
- 객체 혹은 배열의 남은 값을 변수에 할당할 때
const obj = {a: 1, b:2, c:3, d:4, e:5};
const {a, b, ...restObj} = obj;
// a와 b를 제외한 나머지 값들이 restObj에 객체로 할당된다
2. Spread Operator
- 객체 혹은 배열의 값을 합칠 때, 혹은 복사할 때
- 모든 값들만 꺼내서 사용할 때
- (단, 값은 one depth는 deep copy지만 two depth 이상부턴 swallow copy가 된다.)
const arr = [1,2,3];
const arrCopy = [...arr, ...arr]; // [1,2,3,1,2,3,]
// 객체의 값들을 parameter로 대응해서 넘길 때
function foo (num1, num2, num3, num4){
console.log(num1, num2, num3, num4);
}
foo(...arrCopy);
// 1 2 3 1 이 출력된다
// 대응되는 파라미터의 개수 이후의 값은 무시된다
'프로그래밍 > JS' 카테고리의 다른 글
8장) 브라우저 객체 모델 (0) | 2016.04.06 |
---|---|
7장) 함수 표현식 (0) | 2016.03.30 |
5장-6,7) 참조타입 - 원시 래퍼 타입, 내장된 싱글톤 객체 (0) | 2016.02.01 |
5장-3,4,5) 참조 타입 - Date 타입, RegExp 타입, Function 타입 (0) | 2016.01.20 |
5장-1,2) 참조 타입 - Object 타입, Array 타입 (0) | 2016.01.20 |