더북(TheBook)

2.27 타입스크립트는 건망증이 심하다

타입스크립트에서 자주 하는 실수가 있습니다. 이 실수는 타입을 강제로 주장하는 경우에 흔히 나타납니다. 다음 코드를 보세요.

try {} catch (error) {
  if (error) {
    error.message;
  }
}
// Property 'message' does not exist on type '{}'.

errorunknown 타입입니다. unknownif문을 통과하면 {} 타입이 됩니다.

{} 타입은 속성을 사용할 수 없는 타입이므로 다음과 같이 구체적으로 타입을 주장하겠습니다.

try {} catch (error) {
  if (error as Error) {
    error.message;
  }
}
// 'error' is of type 'unknown'.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.