• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    해결됨

2.5) 원시 타입 데이터 할당

24.03.28 12:43 작성 24.03.28 14:27 수정 조회수 67

0

1:50 질문 드립니다.

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

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

답변 1

답변을 작성해보세요.

0

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

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

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

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

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

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