slice의 메서드의 인수를 모두 생략하면 원본배열의 복사본을 생성하여 반환한다. 이 때 생성된 복사본은 얕은 복사를 통해 생성된다. >slice는 얕은 복사를 하는데, 왜 원본 배열의 값을 변경하지 않을까? 얕은복사 얕은 복사는 한 단계까지만 복사하는 것을 말하는데, 원본 배열의 참조값을 그대로 복사해온다. slice는 원본배열과 다른 새로운 배열을 반환하므로, players와 team2는 참조값이 다른 별개의 배열이다. 따라서 team2 === players는 false이다. 그러나 배열 요소의 참조값은 같다. 즉, 얕은 복사되었다. team2[2] === players[2]는 true이다. 정리 즉, 복사된 배열 자체의 참조값은 새로 생성되었으나, 각 배열 요소의 참조값은 원본 배열요소의 참조값을 그대로 복사해왔기 때문에 (얕은복사) 동일하다.
const age2 = age와 같은 형태로 배열과 객체를 얕은 복사하면, age2를 수정해도 원본배열인 age가 수정된다. >이에 대해서는 지난 포스팅 Premitive & Reference를 살펴보자 🍍 배열 🍑 얕은 복사 얕은 복사란 객체를 복사할 때 원래값과 같은 참조를 가리키는 것을 말한다. 🥝 Array.slice() 얕은 복사이긴 한데, 깊은 복사 같은 얕은 복사라고 한다..slice는 새로운 배열을 반환해 다른 참조값을 지닌다. 🥝 [].concat(Array) 🥝 Array.from(Array) 🍍 객체 🍑 얕은 복사 🥝 Object.assign({},