- TSLint와 함께 사용할 수 있는 타입 가드
개요
타입 가드(type guard)는 TypeScript에서 자료형을 검사하여 런타임 도중에 값의 유효성을 보장하는 도구입니다. 이를 통해 컴파일 타임의 장점과 런타임에서의 유효성 검사를 동시에 이용할 수 있습니다. 이번 글에서는 TSLint와 함께 사용할 수 있는 타입 가드에 대해 알아보겠습니다.
TSLint 타입 가드 활성화
먼저, TSLint를 이용하여 타입 가드를 활성화하는 방법부터 알아보겠습니다. 다음 몇 가지 단계를 따라 진행하면 됩니다.
- 프로젝트의 루트 디렉토리에서
tslint.json
파일을 엽니다. compilerOptions
섹션 안에 있는plugins
배열에"rxjs-tslint-rules"
를 추가합니다.- 다음과 같이
"rules"
섹션 안에"rxjs-tslint-rules": true
를 추가합니다.
"compilerOptions": {
"plugins": [
"rxjs-tslint-rules"
]
},
"rules": {
"rxjs-tslint-rules": true
}
이제 TSLint가 타입 가드를 적용할 준비가 끝났습니다.
타입 가드 활용
타입 가드를 적용하기 위해서는 다음과 같은 단계를 따라야 합니다.
-
검사하고 싶은 자료형에 타입 가드 함수를 작성합니다. 이 함수는
arg is SomeType
형태의 반환 값을 갖는데,SomeType
은 검사할 타입입니다. 예를 들면 다음과 같습니다.function isString(arg: any): arg is string { return typeof arg === 'string'; }
-
함수 안에서
arg is SomeType
형태로 값을 검사할 때 true를 반환하며, 그렇지 않으면 false를 반환합니다. -
이제 사용하고자 하는 곳에서 타입 가드 함수를 이용하여 유효성을 검사할 수 있습니다.
if (isString(value)) { // value는 string 타입입니다. } else { // value는 string 타입이 아닙니다. }
이와 같은 방식으로 타입 가드를 활용할 수 있습니다.
결론
TSLint와 함께 사용할 수 있는 타입 가드를 살펴보았습니다. 타입 가드를 활용하면 TypeScript 코드에서 더욱 강력한 유효성 검사를 수행할 수 있습니다. 타입 가드를 사용하여 코드의 안정성을 높여보세요.
참고 자료: TSLint - Type Guards