-
모던 자바스크립트 Deep Dive - 원시 값과 객체의 비교JavaScript 2021. 9. 16. 19:00
원시 타입 = 변경 불가능
객체 타입 = 변경 가능원시 타입
- 숫자
- 문자열
- 불리언
- null
- undefined
- 심벌
객체 타입
- 객체 타입
원시 값을 변수에 할당하면 변수를 선언할 때 확보한 메모리 공간에는 실제 값이 저장 된다.
참조 값을 변수에 할당하면 변수를 선언할 때 확보한 메모리 공간에는 참조 값이 저장 된다.
원시 값 복사 = 값에 의한 전달
참조 값 복사 = 참조에 의한 전달
원시 값
원시 타입의 값은 변경 불가능 하다.
왜 ?
변수 값이 변경될 때 발생하는 로직을 생각해보면
변수에 새로운 값을 재 할당 하기 위해서는기존 확보한 메모리 공간에 존재하는 값을 바꾸는게 아니라,새로운 메모리 공간을 확보한 후 그 공간에 새로운 값을 저장하고 변수는 그 메모리 주소를 나타내는 것 뿐이다.따라서, 원시 타입의 값은 값을 참조하고 있기 때문에 변경이 불가능 하다.
참조 값
변수에 객체가 저장되었다는 것은 변수가 객체가 저장된 메모리 공간의 주소를 가리킨다는 것이다.
객체는 변경 가능한 값이기 때문에 재 할당 없이 변경 가능하다.
'JavaScript' 카테고리의 다른 글
모던 자바스크립트 Deep Dive - 스코프 (0) 2021.09.16 모던 자바스크립트 Deep Dive - 함수 (0) 2021.09.16 모던 자바스크립트 Deep Dive - 객체 리터럴 (0) 2021.09.16 모던 자바스크립트 Deep Dive - 타입 변환과 단축 평가 (0) 2021.09.16 모던 자바스크립트 Deep Dive - 삼항 조건 연산자 (0) 2021.09.16