[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[]

마지막으로, 코드의 가독성을 높이기 위해 주석이나 의미 있는 변수명을 활용하고, 간결하고 일관된 명명규칙을 따르는 것도 중요합니다.

참고 자료: