[TIL] spread연산자를 사용해야하는 이유?

김땅주·2021년 11월 9일
0

TIL

목록 보기
19/33
post-thumbnail

아래의 경우는 값을 공유하기 때문에 원본을 수정하면 복사본까지 수정이 된다!


const size = [1,2,3]

const test = size

size.push(10)
console.log(test) 
console.log(size)


  • spred연산자를 사용한 경우

원본에 새로운 값을 넣어도 복사본에는 영향이 가지 않는다.
즉, 별개의 복사본을 만드는 것이다. 🔗(object복사하는 방법도 동일하다)

const size = [2,3,4,5,6,7,8,9]

const test = [...size]

size.push(10)
console.log(size) /// [ 1, 2, 3, 10 ]
console.log(test)  /// [  2, 3, 4, 5, 6, 7, 8, 9]

리액트의 경우에도 state를 직접적으로 수정할 수 없기 때문에 deep copy해서 수정해야한다

profile
일곱 번 넘어져도 여덟 번 일어나면서 성장하는 프론트 개발자입니다

0개의 댓글