2.5 타입으로 쓸 수 있는 것을 구분하자
타입을 배우다 보면 값(value)과 타입이 헷갈리기 시작할 것입니다. 어떤 값을 타입으로 사용할 수 있고 어떤 값을 타입으로 사용할 수 없는지 헷갈리고, 타입을 값으로 사용할 수도 있는지 헷갈립니다.
값은 일반적으로 자바스크립트에서 사용하는 값을 가리키고, 타입은 타입을 위한 구문에서 사용하는 타입을 가리킵니다. 결론부터 말하면 타입을 값으로 사용할 수는 없습니다. 타입으로 사용할 수 있는 값과 타입으로 사용할 수 없는 값만 구분하면 됩니다.
이전 절에서 보았듯 대부분의 리터럴 값은 타입으로 사용할 수 있습니다. 반대로 변수의 이름은 타입으로 사용할 수 없습니다. 다만 Date나 Math, Error, String, Object, Number, Boolean 등과 같은 내장 객체는 타입으로 사용할 수 있습니다.
const date: Date = new Date();
const math: Math = Math;
const str: String = 'hello';