spread 연산자라고하는 ES6 문법이다.
array나 object 자료형에 사용할 수 있으며 의미는 중괄호나 대괄호를 벗겨주세요~ 라는 뜻이다.
다시말해 …[1,2,3] 이런식으로 쓰면 그 자리에 1,2,3 이 남는다. 괄호 벗기기용 연산자이다.
그런데 이걸 이용하는 두번째 용도도 있는데 array나 object 자료형을 shallow/deep copy할 때 많이 사용한다.
React state를 수정할 때 많이 쓰인다. deep copy를 해야지만 원본 상태에 영향을 전혀 미치지않기 때문이다.
let data1 = [1,2,3];
let data2 = ...data1; // 1,2,3
let data3 = [...data1]; // [1,2,3]
data1에 있던 자료들을 괄호 벗긴 다음에 다시 array로 만들어주세요~ 라는 뜻인데 array를 이런 식으로 사용하면
완전 독립적인 array 복사본을 생성해주는 copy가 가능하다. object 자료형 또한 똑같이 가능하다.
'WEB > JavaScript' 카테고리의 다른 글
[JS] 리덕스(redux)가 무엇인가? (0) | 2021.04.26 |
---|---|
[AJAX] AJAX가 무엇인가 & 사용방법 (0) | 2021.04.06 |
[JS ES6+] destructuring(구조 분해 할당) (0) | 2021.03.29 |
[JS ES6+] 화살표 함수 (=>) 사용법 (0) | 2021.03.26 |
[JS] this란 무엇일까 (0) | 2021.03.24 |