Note ≣ | 혹시나 e가 any로 추론되는 경우
e가 unknown 대신 any로 추론되는 경우에는 플레이그라운드에서 TS Config 메뉴를 누르고, useUnknownInCatchVariables 체크박스에 체크하세요. 이후부터는 e가 unknown으로 추론됩니다.
▲ 그림 2-2 useUnknownInCatchVariables 활성화
e가 unknown이므로 그 뒤에 어떠한 동작도 수행할 수 없게 됩니다. 게다가 catch문의 e에는 any와 unknown 외의 타입을 직접 표기할 수 없습니다. 이럴 때는 as로 타입을 주장(Type Assertion)할 수 있습니다.
try {
} catch (e) {
const error = e as Error;
console.log(error.message);
}