원시 타입 VS 객체 타입
원시 타입
객체 타입
변경 가능성
X (immutable)
O (mutable)
메모리에 저장되는 값
실제 값
참조 값 (주소 값)
다른 변수에 할당 시
원시 값이 복사되어 전달 (값에 의한 전달)
참조 값이 복사되어 전달 (참조에 의한 전달)
변경 불가능한 값
한번 생성된 원시 값은 읽기 전용, 변경 불가 → 데이터의 신뢰성 보장
원시 타입 변수 재할당 과정 ⇒ 불변성
원시 값인 변수는 값을 변경할 방법이
재할당 밖에 없다.
→ 상태 변경을 추적하기 쉽게 함
문자열과 불변성
값에 의한 전달
객체
객체
V8 JS 엔진의 프로퍼티 접근 방식
변경 가능한 값
변경 가능한 값
얕은 복사 vs 깊은 복사
참조에 의한 전달
원시값, 참조값을 비교한다면