선언되지 않은 변수를 사용한 경우, 선언은 했지만 값을 할당하지 않은 변수를 사용한 경우, 존재하지 않는 객체 속성을 사용한 경우 반환되는 값입니다.
정의되지 않음과 null은 동일하지 않지만 == 연산자는 이를 동일하게 처리합니다.
내.prop == null
속성 prop이 존재하지 않거나 존재하지만 값이 null인 경우 이 표현식은 true로 평가됩니다.
정의되지 않은 값을 불리언 환경에서 사용하면 false로 변환하고, 숫자 환경에서 사용하면 NaN으로 변환하고, 스트링 환경에서 사용하면 "undefine"으로 변환한다.