[typescript] never 타입을 사용하여 절대 발생하지 않는 값을 처리하는 방법
TypeScript의 never
타입은 절대 발생하지 않는 값을 처리할 때 사용됩니다. 이는 보통 함수에서 반환 타입으로 사용되며, 해당 함수가 항상 예외를 던지거나 절대 값을 반환하지 않을 때 유용합니다.
never 타입의 사용 예시
1. 항상 예외를 던지는 함수의 반환 타입으로 설정
function throwError(message: string): never {
throw new Error(message);
}
위의 예시에서 throwError
함수는 예외를 던지고 그 이후에 어떠한 값도 반환하지 않기 때문에 반환 타입으로 never
가 사용되었습니다.
2. switch 문의 모든 case를 다루고 남은 상황 처리
type Action = { type: 'ADD' } | { type: 'REMOVE' };
function performAction(action: Action) {
switch (action.type) {
case 'ADD':
// do something
break;
case 'REMOVE':
// do something
break;
default:
const exhaustiveCheck: never = action;
}
}
위의 예시에서 performAction
함수에서 default
case를 처리할 때 never
타입을 사용하여 모든 case를 다룬 후에도 남았는지를 체크할 수 있습니다.
결론
never
타입은 코드에서 예외적인 상황을 다룰 때나 모든 가능한 경우를 다룬 후 남은 상황을 처리할 때 유용하게 사용됩니다. 해당 상황에서는 프로그램의 안정성을 높이고 예기치 않은 동작을 방지하는 데 도움이 됩니다.