inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코어 자바스크립트

10분 즘에 나오는 메모리 할당에 대해서 궁금한게 있습니다.

296

릴롱궤

작성한 질문수 19

0

obj.x 가 3으로 5003번 메모리에 할당되어 있고

obj.arr이 새로운 메모리를 사용하는것이 아니라 obj.x 가 할당된 5003번을 그대로 참조하게 될때

obj.x를 3에서 5로 바꿔서 할당하게 되면 (obj.x=5;) arr도 참조값이 같이 바뀌어서 console.log(obj.arr)할때 [5,4]가 되어야 할것같은데 그렇게 되지 않고 이전과 동일하게 [3, 4] 로 콘솔에 출력되더라구요 그렇다면

obj.x=5 라고 새로 할당하게 되면 5007쯤 되는 메모리에 다시 5라는 값을 넣어주고 7103의 값을 5007로 바꿔주게 되는 건가요? 

javascript

답변 1

1

정재남

맞습니다.

obj.x = 5 라는 명령은
5003번에 저장된 숫자 3 대신 5를 덮어씌우는 게 아니라
새로운 메모리 공간을 확보하여(5007) 5를 대입하고 이를 할당합니다.

그러니까 obj.x는 5007을 바라보게 되고,
obj.arr[0]은 그대로 5003을 바라보고 있는 상태입니다.

인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유

0

59

1

setTimeout 에서 this

0

80

1

2강부터 영상이 나오지 않습니다.

0

174

1

자바스크립트 주석에 이상한 점이 있어서 문의드립니다.

0

218

2

return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.

1

259

1

클래스 static 멤버

1

252

1

실행컨텍스트와 스택프레임

2

566

1

프로토타입으로 상속할때 브릿지 사용 이유

0

320

1

호이스팅 관련 질문

1

335

1

책 66p. 예제 3-2 질문입니다.

0

356

1

강의 내용 10:58 캡슐화 질문입니다.

1

397

1

강의 내용 5:10 질문입니다.

1

422

2

전역 공간에서의 this

0

426

2

18:31 addEventListener의 this

1

479

1

outerEnvironmentReference 질문

1

372

1

실행 컨텍스트와 클로저에 대해 질문드립니다.

1

448

1

Object.prototype.constructor의 [[prototype]] ?

1

658

1

함수를 값으로 할당할 때

2

457

1

15:54 'ddd' 사라지는 오류?

4

375

1

프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.

1

404

1

기본형/가변형 질문입니당

0

331

0

선생님 그러면 섹션 0만 봐도 무방한가요!?

0

334

1

Hoisting과 environmentRecord에 관한 질문입니다.

1

289

1

안녕하세요, 데이터 변경 질문입니다.

0

324

1