[typescript] 다중 타입의 경우 코드의 가독성을 높이기 위한 팁을 알려주세요.
1. 유니언 타입 활용
유니언 타입(Union Types)을 사용하여 여러 타입을 하나로 결합할 수 있습니다. 이때 typeof
키워드를 사용하여 변수나 속성의 타입을 추출하는 것이 도움이 됩니다.
예시:
type Result = SuccessType | ErrorType;
function handleResult(result: Result) {
if (typeof result === 'string') {
// 처리
} else {
// 처리
}
}
2. 타입 가드 활용
타입 가드(Type Guards)를 사용하여 조건문을 활용하여 특정 타입의 변수로 유추할 수 있도록 도와줍니다.
예시:
interface Car {
drive(): void;
stop(): void;
}
interface Bike {
ride(): void;
park(): void;
}
function moveVehicle(vehicle: Car | Bike) {
if ('drive' in vehicle) {
vehicle.drive();
} else {
vehicle.ride();
}
}
3. 제네릭 활용
함수나 클래스가 여러 종류의 타입과 함께 작동할 수 있도록 제네릭(Generics)을 활용합니다.
예시:
function toArray<T>(arg: T): T[] {
return [arg];
}
const arr = toArray(123); // number[]
마지막으로, 코드의 가독성을 높이기 위해 주석이나 의미 있는 변수명을 활용하고, 간결하고 일관된 명명규칙을 따르는 것도 중요합니다.
참고 자료:
- 유니언 타입: https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types
- 타입 가드: https://www.typescriptlang.org/docs/handbook/2/narrowing.html#using-type-predicates
- 제네릭: https://www.typescriptlang.org/docs/handbook/2/generics.html