고급 TypeScript - 고급 타입: 유니온 타입

고급 타입: 유니온 타입

유니온 타입은 TypeScript에서 변수나 함수가 여러 가지 형식의 값을 가질 수 있도록 하는 강력한 기능입니다. 이는 코드의 유연성을 높이고, 다양한 데이터 유형을 처리할 수 있게 해줍니다. 기본적으로 유니온 타입은 파이프(|) 기호를 사용하여 서로 다른 타입들을 결합합니다.

유니온 타입의 개념 이해하기

유니온 타입을 사용하는 주된 이유는 특정 변수가 여러 다른 값 중 하나일 수 있음을 명시하고 싶기 때문입니다. 예를 들어, 어떤 변수는 숫자 또는 문자열일 수 있습니다. 이 경우, 우리는 다음과 같이 정의할 수 있습니다:

let value: number | string;
value = 42;       // 올바른 할당
value = "Hello";  // 올바른 할당

위 예제에서 value라는 변수는 numberstring 두 가지 형식을 가질 수 있습니다.

실용적인 예제

  1. 함수 매개변수
    아래 예시는 매개변수가 유니온 타입인 함수를 보여줍니다:

    function printId(id: number | string) {
        console.log("Your ID is: " + id);
    }
    
    printId(101);         // 출력: Your ID is: 101
    printId("202A");      // 출력: Your ID is: 202A
    
  2. 객체 속성
    객체 내에서 유니온 타입을 사용할 수도 있습니다:

    interface User {
        id: number | string;
        name: string;
    }
    
    const user1: User = { id: 123, name: "Alice" };
    const user2: User = { id: "ABC-456", name: "Bob" };
    
    console.log(user1.id); // 출력 : 123
    console.log(user2.id); // 출력 : ABC-456
    
  3. 타입 좁히기
    유니온 타입을 사용할 때 조건문을 통해 특정 형식으로 좁힐 수도 있습니다:

    function logValue(value: number | string) {
        if (typeof value === 'string') {
            console.log("String value:", value.toUpperCase());
        } else {
            console.log("Number value:", value);
        }
    }
    
    logValue(100);         // 출력 : Number value : 100 
    logValue("hello");     // 출력 : String value : HELLO 
    

요약 및 활용

유니온 타입은 TypeScript에서 매우 중요한 요소로써, 복잡한 데이터 구조를 쉽게 다룰 수 있게 도와줍니다. 이를 통해 개발자는 더 안전하고 유지보수가 용이한 코드를 작성할 수 있으며, 다양한 상황에 맞게 데이터를 처리하는 데 큰 도움을 줍니다.

유니온 타입은 특히 API 응답이나 사용자 입력과 같은 불확실성이 있는 데이터에 적합하며, 이러한 특성을 활용하면 더욱 견고한 애플리케이션을 만들 수 있습니다.

Subscribe to shimdh.log

Don’t miss out on the latest issues. Sign up now to get access to the library of members-only issues.
jamie@example.com
Subscribe