3.2.8 null과 undefined
자바스크립트에서 null은 의도적인 빈 값을 의미합니다. 개발자가 의도적으로 값을 비어 두고 싶을 때 사용하는 값이죠. 반면 undefined는 변수를 선언할 때 값을 할당하지 않으면 기본적으로 할당되는 초깃값입니다. 타입스크립트에서는 이 두 값을 타입으로 정의할 수 있습니다. 다음 코드를 보겠습니다.
var empty: null = null;
var nothingAssigned: undefined;
empty 변수에는 null 값을 할당했기 때문에 null 타입을 지정했습니다. nothingAssigned 변수는 선언만 하고 아무 값도 할당하지 않아서 undefined가 초깃값으로 지정될 것입니다. 그래서 nothingAssigned 변수를 undefined라는 타입으로 지정해 주었습니다.
노트
null과 undefined 타입은 타입스크립트 설정 파일의 strict 옵션에 따라서 사용 여부가 결정됩니다. strict 옵션이 꺼져 있을 때는 신경 쓰지 않아도 되는 타입입니다. 더 자세한 내용은 19장에서 알아보겠습니다.