• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

객체 참조 관련 질문

24.07.01 16:23 작성 조회수 36

0

image.png

위와 같이 코드를 작성했을 때, D.push(d) 이후에는 d === D[2] 값이 false가 나옵니다. 이건 push할 때는 새로운 주소에 할당되기 때문일까요?

깊이에 따른 복사가 다르다고 얼핏 듣긴 했습니다만 잘 몰라서 질문 드립니다.

답변 1

답변을 작성해보세요.

0

const d = [1, 2, 3]

const D = [1, 2, d]

D.push(d);

4

console.log(d === D[2])

VM276:1 true

true 잘 나옵니다.

앗 제가 의미한 것은 push를 통해 추가된 D의 마지막 원소를 원래 d와 비교하면 false로 출력된다는 것이었습니다.

네, true가 나와야 정상입니다. 제가 그걸 보여드린 거고요.

채널톡 아이콘