
JavaScript.info 예시 문제

어.. 당근 shoppingCart엔 fruits 값을 복사해서 넣은 것 뿐이고, 둘은 서로 각각 다른거니까..
ShoppingCart = ["사과", "배", "오렌지", "바나나"]
fruits = ["사과", "배", "오렌지"]
이렇게 아니야??

참조에 의한 객체 복사
분명 읽었는데.. 왜 기억을 못하니
자바스크립트에서의 Object는 기본 원시형(하나에 한 type만 저장 가능)과는 달리 참조형 타입. Referencial type이다.
Referencial type은 Premitive type과는 달리 assign시 값이 복사되어 다른 메모리 주소를 할당하는게 아니라, 해당 리스트가 있는 곳으로 포인터가 옮겨갈 뿐이다.
그러므로 fruits와 shoppingCart는 같은 객체를 가르키고 있다.
엥? array인데 왜 object 얘기를 해여?

Javascript에선 Array도 Object의 일종이다.
그러므로
ShoppingCart = ["사과", "배", "오렌지", "바나나"]
fruits = ["사과", "배", "오렌지", "바나나"]
요렇게!
만약.. 전 진짜 그냥 새로운 array를 만들고 싶은거였다면요 ㅠ?
스프레드 연산자를 사용해
let shoppingCart = [...fruits]
이렇게 부여해주세용