강의

멘토링

커뮤니티

Inflearn Community Q&A

joycie5712's profile image
joycie5712

asked

[Renewal] Introduction to JavaScript in Zero Seconds through Coding Self-Study

Comparison of objects (differences with primitive values)

객체 참조 관련 질문

Written on

·

169

0

image.png

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

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

javascript

Answer 1

0

zerocho님의 프로필 이미지
zerocho
Instructor

const d = [1, 2, 3]

const D = [1, 2, d]

D.push(d);

4

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

VM276:1 true

true 잘 나옵니다.

joycie5712님의 프로필 이미지
joycie5712
Questioner

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

zerocho님의 프로필 이미지
zerocho
Instructor

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

joycie5712's profile image
joycie5712

asked

Ask a question