[typescript] 다중 타입을 사용하여 오류 처리를 간소화할 수 있는 방법은 무엇인가요?

아래는 유니언 타입을 사용하여 간단한 예시를 보여줍니다.

type Result = Success | Error;

interface Success {
  success: true;
  value: string;
}

interface Error {
  success: false;
  message: string;
}

function handleResult(result: Result) {
  if (result.success) {
    console.log("Value:", result.value);
  } else {
    console.error("Error:", result.message);
  }
}

// 예시
handleResult({ success: true, value: "Data received successfully" });
handleResult({ success: false, message: "Failed to retrieve data" });

위 코드에서 ResultSuccess 또는 Error 중 하나일 수 있는 유니언 타입입니다. handleResult 함수는 Result 타입을 매개변수로 받아서 성공일 경우 value를 출력하고, 실패일 경우 message를 출력합니다.

이렇게 유니언 타입을 사용하면 각각 다른 속성을 가진 다중 타입을 처리할 때 오류를 간소화하고 타입 안정성을 높일 수 있습니다.

참조: