-변수에 값이 지정되지 않은 경우, 데이터 영역의 메모리 주소를 지정하지 않은 식별자에 접근할 때
- .이나 []로 접근하려고 할 때, 해당 데이터가 존재하지 않는 경우
- return문에 없거나 호출되지 않는 함수의 실행 결과
var a;
console.log(a); // 값을 대입하지 않은 변수에 접근
var obj = { a:1 };
console.log(obj.b); 존재하지 않는 property에 접근
var func = function() {}; //반환값이 없는 function
conslo.log(c); // undefined
undefined로 나오는 이 변수가, 필요에 의해 할당한건지,
자바스크립트 엔진이 반환한건지 구분할 수 없으므로
'없다'를 명시적으로 표현할 때는 null을 사용!