undefined는 선언한 후에 값을 할당하지 않은 변수나 값이 주어지지 않은 인수에 자동으로 할당된다.
이 값은 전역 객체의 속성 중 하나로, 전역 스코프에서의 변수이기도 하다.
따라서 undefined 변수의 초기값은 원시 값이다.
undefined는 값을 할당하지 않았을 때, 메서드와 선언에서 변수가 할당받지 않았을 때, 함수가 값을 return하지 않았을 때 반환된다.
null의 타입은 object이다.
하지만 null은 원시 탕비으로 버그로 간주되고 있다.
undefined == null 은 true가 반환된다.