타입 스크립트에서는 프리미티브 타입과 래퍼 오브젝트로 만든 타입을 확실하게 구별한다.
예외적으로 이 둘은 모든 타입에 대입이 가능한 것이 기본 설정이다. number에 null 또는 undefined를 할당할 수 있다는 의미이다.
하지만 컴파일 옵션에서 strictNullChecks를 사용하면 void나 자기 자신 타입에만 할당이 가능하다.
이 경우에 null, undefined를 할당할 수 있게 하려면, union type을 이용해야 한다.
const union = string | null | undefined = 'str';
any
와 반대의 의미를 가진다.