[typescript] 런타임에 존재하지 않는 데이터 타입(never, any)

TypeScript는 JavaScript의 정적 분석을 위한 언어로서, 코드를 실행하기 전에 런타임 에러를 사전에 방지할 수 있는 강력한 도구입니다. TypeScript는 정적 타입 시스템을 통해 변수 및 인수의 타입을 명확히 지정할 수 있으며, neverany라는 두 가지 특별한 데이터 타입을 제공합니다.

never 데이터 타입

never 타입은 절대로 발생할 수 없는 값을 나타내는 데 사용됩니다. 주로 예외를 throw하거나 무한루프와 같은 상황에서 반환 타입으로 사용됩니다.

function throwError(message: string): never {
  throw new Error(message);
}

function infiniteLoop(): never {
  while (true) {
    // 무한루프
  }
}

// never를 리턴하는 함수는 아무것도 반환하지 않아야 합니다.

any 데이터 타입

any 타입은 어떤 종류의 값이든 허용하는 Dynamic 타입입니다. 여기에 어떤 메서드나 프로퍼티를 호출해도 TypeScript 컴파일러가 타입 검사를 수행하지 않습니다.

let dynamicValue: any = 10;
dynamicValue = 'Hello, TypeScript!';

선호도와 주의사항

any 타입은 타입 안정성과 유지보수성을 떨어뜨릴 수 있으므로 최소한으로 사용하는 것이 좋습니다. 반면, never 타입은 종종 함수가 올바르게 동작하는지 확인할 때 유용합니다.

TypeScript를 사용하면서 neverany 타입을 올바르게 활용하여 코드를 안정성 있게 유지할 수 있습니다.

참고 문헌

TypeScript 공식 문서: Advanced Types


위의 내용은 TypeScript 런타임에서 존재하지 않는 neverany 데이터 타입에 대한 소개였습니다. 이 두 가지 타입을 활용하여 코드의 안정성을 높일 수 있습니다.