[typescript] 타입 변환을 피할 수 있는 대안 고려 방법
타입 변환은 종종 TypeScript 코드에서 발생하는 일반적인 문제입니다. 코드에서의 타입 변환은 대개 개발자가 타입 시스템을 우회하거나 “any” 타입을 사용해야 할 때 발생합니다. 그러나 이러한 변환은 코드의 안정성을 저해할 수 있습니다. 이를 피할 수 있는 몇 가지 대안을 살펴보겠습니다.
1. 제네릭 활용
제네릭은 TypeScript에서 타입 안정성을 확보하는데 유용합니다. 제네릭을 사용하면 런타임에 변환 없이 타입을 보장할 수 있습니다. 다음은 제네릭을 활용한 예시입니다.
function identity<T>(arg: T): T {
return arg;
}
위 예시에서 함수 identity
는 인자의 타입을 보존하면서 반환합니다.
2. 유니언 타입 활용
유니언 타입을 사용하면 여러 타입을 동시에 허용할 수 있습니다. 이를 통해 타입 변환을 피할 수 있습니다.
function padLeft(value: string, padding: string | number) {
// code
}
위 예시에서 padding
매개변수는 string
또는 number
타입 중 하나가 될 수 있습니다.
3. 타입 가드 사용
타입 가드를 통해 런타임 시에 타입을 확인할 수 있습니다. 이를 사용하면 타입 변환을 최소화하고 코드의 안정성을 높일 수 있습니다.
function isNumber(value: any): value is number {
return typeof value === 'number';
}
function example(foo: string | number) {
if (isNumber(foo)) {
// 여기서는 foo가 number로 타입 변환됩니다.
console.log(foo + 100);
}
}
이러한 방법들을 활용하여 타입 변환을 피할 수 있으며, 코드의 안정성을 유지할 수 있습니다.
타입 변환을 최소화하고, 대신 위의 방법들을 활용하여 타입 안정성을 확보하는 것이 좋습니다.
TypeScript 공식 문서 - Advanced Types