undefined, null
: 둘 다 원시 자료형(primitive)
: 각 타입에 대한 유일한 값 (undefined -> undefined, null -> null)
undefined
: 아무 값도 할당받지 않은 상태

var 키워드로 선언한 변수는 호이스팅으로 올라간 후 undefined로 초기화
인터프레터가 해당 소스코드에 도달했을 때 할당한 값이 들어감

JS엔진에서 변수 초기화할 시 사용
의도적으로 undefined 할당하는 것은 권장하지 않음
null
: 비어있는, 존재하지 않는 값을 의미
: NULL, Null과 다름
: 의도적으로 변수에 값이 없다는 것을 명시하기 위해 null사용 (undefined는 아님)
: 변수가 이전에 참조하던 값을 명시적으로 참조하지 않겠다고 하는 것이기에
: JS 엔진이 이변수에 메모리 공간에서 가비지 콜렉션을 수행
*가비지 콜렉션 : 더이상 사용하지 않는 메모리를 자동으로 정리하는 것