인프런 커뮤니티 질문&답변

김떡보님의 프로필 이미지
김떡보

작성한 질문수

[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

2.5) 원시타입 VS 객체타입

2.5) 원시 타입 데이터 할당

해결된 질문

작성

·

145

·

수정됨

0

1:50 질문 드립니다.

let p1 = 1;
let p2 = p1 일 때,

p2를 생성할 때 메모리에 데이터 1을 추가하여 저장되는 것이 아니라, p1에 값 1을 할당 했을 때 메모리에 저장된 1의 메모리 주소를 재활용 하여 p1p2가 모두 동일한 데이터를 참조하게 되는 것 아닌가요? p2 생성시 메모리에 데이터 1을 추가하신 것에 대해 의문이 들어 질문드립니다.

답변 1

1

이정환 Winterlood님의 프로필 이미지
이정환 Winterlood
지식공유자

안녕하세요 이정환입니다.

이것은 자바스크립트 엔진의 구현과 최적화 전략에 따라 다를 수 있습니다.

원칙적으로 원시 타입의 값은변수에 저장될 때 자신만의 메모리 공간에 값을 가지게 됩니다.

즉, 원시 값은 "값에 의한 복사"(copy by value) 방식으로 처리되어, 두 변수가 같은 값을 가지더라도 각각 독립적인 메모리 위치에 그 값을 저장합니다.

그러나 엔진에 따라 최적화 전략을 채택할 때 메모리 효율성을 증가시키기 위해 질문 주신대로 처리하는 경우도 있는걸로 알고 있습니다.

다만 본 강의는 전 입문자를 대상으로 제작되었으므로 보다 일반적이고 원칙적인 내용에 따라 제작되었습니다 😃

김떡보님의 프로필 이미지
김떡보

작성한 질문수

질문하기