<aside> 💡 코어 자바스크립트 책을 읽기 시작했다. 오늘은 1장, 데이터 타입

</aside>

기본형과 참조형(Object) 모두 주소값을 저장한다.

C에서 string literal 을 저장하는 방식과 비슷한 것 같다. var a = 'abc'; 일때, 'abc' 를 저장한 주소를 변수 a 에 저장한다. var b = a; 이면, 변수 a 에 저장된 주소값이 변수 b 에 할당되서, 결국 ab 모두 abc 데이터가 저장된 주소를 가리킨다. 객체의 경우, var o = { a: 1 }; 객체 내부의 키-밸류 데이터를 저장하기 위해서, 이중참조가 되므로, 당연하게 생각했던대로 동작한다.

기본형의 경우, 값을 복사한다고 생각하고 있었는데, 동작 방식에 큰 차이가 있었다.

typeof null

결과는 object . 예전에 봤던 기억이... 그새 까먹었다. 이 유명한 버그땜에 typeof 로 null 체크가 불가능하다. a === null || a === undefined typeof a === 'object' && a !== null

undefined

undefined 를 값으로 사용하지 말라는 얘기가 나오는데.. 대신 null 을 쓰라고.. 사실 의도적으로 undefined 를 초기값으로 할당하는 경우가 많았어서.. 음.. 조금 고민이 된다. 아직 완전한 동의가 되진않는다.