더북(TheBook)

string에서 number로 타입을 바꾸는 행위는 실수일 것이라고 에러 메시지를 띄웁니다. 실제로도 불가능한 상황이 맞기 때문입니다. 다만 강제로 변환하는 방법이 있습니다.

const a: number = '123' as unknown as number;

먼저 unknown으로 주장한 후에 원하는 타입으로 다시 주장하면 됩니다. 다만 강제로 주장한 것이므로 as를 사용할 때는 자신이 책임져야 합니다.

as 같은 것을 하나 더 소개하자면 !(non-null assertion) 연산자가 있습니다. 연산자의 이름은 null이 아님을 주장하는 연산자이지만, null뿐만 아니라 undefined도 아님을 주장할 수 있는 연산자입니다.

function a(param: string | null | undefined) {
  param.slice(3); 
}
// 'param' is possibly 'null' or 'undefined'.
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.