타입스크립트(TypeScript)에서는 타입 가드 함수를 사용하여 런타임 동작 중에 변수의 타입을 검사하고, 이에 따라 타입을 추론할 수 있습니다. 이 기능은 코드를 보다 안전하고 가독성 높은 방식으로 작성할 수 있도록 돕습니다. 이번 포스트에서는 타입 가드 함수와 함께 사용하는 타입 추론에 대해 알아보겠습니다.
타입 가드 함수란?
타입 가드 함수는 특정 타입을 검사하고 이를 기반으로 그 타입을 좁히는 역할을 합니다. 이를 통해 코드의 안전성을 유지하면서 유연한 타입 처리가 가능해집니다. 타입 가드 함수는 보통 typeof
, instanceof
, 또는 사용자 정의 함수 등으로 작성됩니다. 아래는 간단한 타입 가드 함수의 예시입니다.
function isNumber(value: any): value is number {
return typeof value === 'number';
}
위 코드에서 isNumber
함수는 value
가 number
타입인지를 검사하고, 해당 여부에 따라 boolean
값을 반환합니다.
타입 추론과의 결합
타입 가드 함수를 사용하면 조건문 내에서의 변수의 타입을 좁힐 수 있습니다. 이를 통해 조건문 블록 내에서의 변수에 대해 새로운 타입의 메소드나 프로퍼티에 접근할 수 있습니다.
function printLength(value: string | number) {
if (typeof value === 'string') {
console.log(value.length); // `value`는 여기서 `string` 타입으로 추론됨
} else {
console.log(value); // `value`는 여기서 `number` 타입으로 추론됨
}
}
위 코드에서 printLength
함수는 string
또는 number
를 받아 각각의 타입에 따라 다른 동작을 하도록 만들어졌습니다. 조건문 내에서 타입을 검사하고, 이에 따라 value
변수가 string
인 경우 length
프로퍼티에 접근하고 number
인 경우 값을 그대로 출력하고 있음을 볼 수 있습니다.
타입 가드 함수를 사용하여 타입 추론을 활용하면 코드의 안전성과 가독성을 높일 수 있습니다. 따라서 타입스크립트를 사용하는 경우, 타입 가드 함수와 타입 추론을 적절히 활용하여 더욱 견고하고 유연한 코드를 작성할 수 있습니다.