더북(TheBook)

unknown 타입인 eError 타입으로 강제 지정했습니다. 그 후에는 eError로 인식되어 관련 기능이 동작합니다.

또 다른 Type Assertion 방법으로는 <>을 사용하는 방법이 있습니다. 배열에서 사용했던 <>과는 다른 의미입니다(참고로 다음 코드를 에러 없이 사용하려면 TS Config 메뉴에서 JSX 옵션이 None이어야 합니다).

try {
} catch (e) {
  const error = <Error>e;
  console.log(error.message);
}

이 방식은 나중에 배울 React의 JSX와 충돌하므로 <> 대신 as로 주장하는 것을 권장합니다.

또한, 항상 as 연산자를 사용해서 다른 타입으로 주장할 수 있는 것은 아닙니다.

const a: number = '123' as number; 
// Conversion of type 'string' to type 'number' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.