15. Undefined, Null 타입
Undefined 타입
Undefined(대문자) 타입 : 대문자 Undefined는 스펙에서 사용하는 타입입니다.
- 값 : undefined(소문자)
변수의 디폴트(Default) 값
- var point;
변수를 선언만 한 것으로 undefined 가 초기값으로 설정
var point; console.log(point) // undefined
- point 변수를 선언만 하였는데 undefined가 출력되었습니다.
- 변수가 이름과 값을 갖는 구조를 맞추기 위한 것, (자바스크립트에서 변수는 반드시 ‘이름’과 ‘값’을 갖는 구조로 되어야한다.)
- 초기값으로 undefined가 설정되기 때문
- 변수에 값을 할당하지 않은 것을 나타내는 시맨틱
변수에 undefined 할당 가능
var point = undefined; console.log(point) // undefined
- undefined가 값이므로 변수에 할당 가능
- 하지만, 초기값인지 값을 할당한 것인지 구분이 되지 않으므로 권장하지 않습니다.
- 대신, 다음 절에서 다루는 null을 할당합니다.
Null
Null(대문자) 타입 : 대문자 Null은 스펙에서 사용하는 타입
- 값: null(소문자)
null 과 undefined 차이
- undefined 는 단지 변수만 선언
- null 을 할당해야 값이 null 이 됨
의도적으로 값을 할당한 것으로 코드를 수행한 것이 됩니다.
var book; console.log(book); // undefined var point = null; console.log(point); // null