- TSLint와 함께 사용할 수 있는 타입 가드

개요

타입 가드(type guard)는 TypeScript에서 자료형을 검사하여 런타임 도중에 값의 유효성을 보장하는 도구입니다. 이를 통해 컴파일 타임의 장점과 런타임에서의 유효성 검사를 동시에 이용할 수 있습니다. 이번 글에서는 TSLint와 함께 사용할 수 있는 타입 가드에 대해 알아보겠습니다.

TSLint 타입 가드 활성화

먼저, TSLint를 이용하여 타입 가드를 활성화하는 방법부터 알아보겠습니다. 다음 몇 가지 단계를 따라 진행하면 됩니다.

  1. 프로젝트의 루트 디렉토리에서 tslint.json 파일을 엽니다.
  2. compilerOptions 섹션 안에 있는 plugins 배열에 "rxjs-tslint-rules"를 추가합니다.
  3. 다음과 같이 "rules" 섹션 안에 "rxjs-tslint-rules": true를 추가합니다.
"compilerOptions": {
  "plugins": [
    "rxjs-tslint-rules"
  ]
},
"rules": {
  "rxjs-tslint-rules": true
}

이제 TSLint가 타입 가드를 적용할 준비가 끝났습니다.

타입 가드 활용

타입 가드를 적용하기 위해서는 다음과 같은 단계를 따라야 합니다.

  1. 검사하고 싶은 자료형에 타입 가드 함수를 작성합니다. 이 함수는 arg is SomeType 형태의 반환 값을 갖는데, SomeType은 검사할 타입입니다. 예를 들면 다음과 같습니다.

    function isString(arg: any): arg is string {
      return typeof arg === 'string';
    }
    
  2. 함수 안에서 arg is SomeType 형태로 값을 검사할 때 true를 반환하며, 그렇지 않으면 false를 반환합니다.

  3. 이제 사용하고자 하는 곳에서 타입 가드 함수를 이용하여 유효성을 검사할 수 있습니다.

    if (isString(value)) {
      // value는 string 타입입니다.
    } else {
      // value는 string 타입이 아닙니다.
    }
    

이와 같은 방식으로 타입 가드를 활용할 수 있습니다.

결론

TSLint와 함께 사용할 수 있는 타입 가드를 살펴보았습니다. 타입 가드를 활용하면 TypeScript 코드에서 더욱 강력한 유효성 검사를 수행할 수 있습니다. 타입 가드를 사용하여 코드의 안정성을 높여보세요.


참고 자료: TSLint - Type Guards