JavaScript/ES6+
ES6+ | Spread Operator 전개 연산자
pathas
2020. 3. 6. 15:26
Spread Operator 전개 연산자
나열형 자료를 추출하거나 연결할 때 사용하는 연산자
- 배열, 객체, 변수명 앞에 마침표 세 개(...) 입력
- 배열, 객체, 함수 인자 표현식([], {}, ()) 안에서만 사용 가능
- 기본값 지정 가능
Spread Operator 배열, 함수 인자 표현식
- 배열에 저장된 순서대로 요소 나열
- 기본값을 지정하면 해당 변수에 저장될 값이 없을 때 기본값이 저장됨
const arr1 = [1, 2];
const arr2 = [3, 4];
const combined = [...arr1, ...arr2];
console.log(combined); // [1, 2, 3, 4]
// Destructuring(구조 분해 할당)과 함께 사용
const [first, second, third, fourth, fifth = 'empty'] = combined;
console.log(fifth); // empty
const spread = (...args) => {
var[one, two, ...others] = args;
console.log(others);
}
spread(...combined); // [3, 4]
Spread Operator 객체
- 두 객체를 병합할 때 중복된 키값들은 마지막에 사용한 객체의 값으로 덮어씀
- 객체에서 하나의 값을 추출할 때는 변수 이름을 객체의 키 이름과 동일하게 작성
- 객체에서 여러 값을 추출할 때는 변수 이름에 전개 연산자 사용
const obj1 = {one: 1, two: 2, other: 'hi'};
const obj2 = {three: 3, four: 4, other: 'bye'};
const newObj = {
...obj1, ...obj2
}
console.log(newObj);
// {one: 1, two: 2, other: "bye", three: 3, four: 4}
// Destructuring(구조 분해 할당)과 함께 사용
const {one} = obj1;
console.log(one); // 1
const {other, ...theOthers} = newObj;
console.log(theOthers);
// {one: 1, two: 2, three: 3, four: 4}
배열, 객체, 함수 인자 표현식에서 나열형 자료형의 값들을 풀어주는 전개 연산자에 대해 알아보았습니다.
내부의 값들을 풀어주기 때문에 배열이나 객체의 값들을 일일이 따로 꺼내지 않아도 돼서 편리하게 사용할 수 있습니다.
주로 Destructuring(구조 분해 할당)과 함께 사용되며 구조 분해 할당에 대해서는 다음 글에서 다루도록 하겠습니다.