참조 유형과 관련하여 값 할당은 힙 메모리의 복사본일 뿐입니다. 즉, 여러 변수가 동일한 힙 메모리를 가리킵니다. 그런데 Chrome에서 테스트할 때 이런 상황이 발생했습니다. 전문가들이 답변해 주셨으면 좋겠습니다
아래 사진에서
변수 a를 만들고 여기에 빈 개체를 할당했습니다
변수 a를 변수 b에 할당
a속성 이름 추가
a로그아웃
참조 유형의 사용에 따르면 a가 취소되면 객체는 더 이상 존재하지 않아야 하지만 b는 여전히 이 참조를 가지고 있습니다. 내 질문은 이것입니다. b의 결과 출력이 null이 아니어야 합니까?
예:
a = {}; 메모리에 있는 {}의 이름이 0x2334c;
b = a; 실제 실행은 b = 0x2334c;
a = null입니다.
그러나 b는 여전히 0x2334c를 참조하므로 0x2334c는 파괴되지 않습니다.
b와 a = null이 아닌 이상;
a와 b는 모두 동일한 주소 c를 가리킵니다. a=null로 설정하면 a는 더 이상 c를 가리키지 않습니다. 그러나 b는 여전히 c를 가리킵니다. 그거