Primitive Type 메모리 관련 질문입니다!
348
投稿した質問数 1
안녕하세요! 강의를 보던 중에 헷갈리는 부분이 있어서 질문드립니다.
기본형은 만들어진 데이터를 계속 재사용한다고 설명해주셨는데
그럼 5003번 주소를 참조하고 있을 경우에 증감연산자(++, --)를 수행하면
5003번 주소에 있는 값 자체를 바꾸는 것인가요, 새로운 값을 저장해서 그 메모리 주소를 참조해주는 것인가요?
전자라면 그렇게 되면 같은 값을 바라보고 있는 변수들은 다 값이 변경되는건지도 궁금합니다..!
좋은 강의 제공해주셔서 감사합니다!
回答 4
2
우선 값을 증가시킨 다음 해당 값이 저장된 메모리가 있는지를 먼저 찾습니다.
있다면 해당 메모리 주소를 참조하게 되고,
없다면 새로운 값을 저장해서 그 메모리 주소를 참조하게 됩니다.
즉 한 번 메모리에 저장된 기본형 데이터는 사라지지 않는 한은 영원히 변하지 않습니다.
0
완전히 잘못 이해하셨습니다.
var a = 10;
var b = 10;
var c = a;
에서 변수를 위한 공간은 3개이고, 값을 위한 공간은 10 하나뿐입니다.
a = 20;
c = 30;
이제 값을 위한 공간은 10, 20, 30 총 세개가 되었습니다.
10, 20, 30은 "기본형 데이터"입니다. 기본형 데이터는 덮어씌울 수 없습니다.
강의를 다시 한 번 찬찬히 들어보시길 바래요.
0
안녕하세요! 답변을 읽다가 궁금한 게 생겨서 글을 적습니다.
우선 값을 증가시킨 다음 해당 값이 저장된 메모리가 있는지를 먼저 찾습니다.
즉 한 번 메모리에 저장된 기본형 데이터는 사라지지 않는 한은 영원히 변하지 않습니다.
라고 답변해주셨는데요.
아래와 같은 코드를 작성하면 메모리 상에는 어떻게 저장되는지 궁금해요!
var a = 10;
var b = 10;
var c = a;
제가 강의를 듣고 이해한 바로는,
변수를 위한 공간은 a, b, c 총 세개 확보되고
값을 위한 공간은 10, 10 두개일 거 같은데 맞나요?
여기서 다시
a = 20;
c = 30;
이라 할당하면
a가 가리킬 값 20이 추가로 저장되고,
c변수가 바라보던 10은 30으로 덮어씌워지는 것이 맞나요?
강의를 통해 많이 배우고 있어요! 항상 감사합니다!ㅎㅎ
인스턴스에서 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
333
1
Hoisting과 environmentRecord에 관한 질문입니다.
1
289
1
안녕하세요, 데이터 변경 질문입니다.
0
324
1

