고급 TypeScript - 고급 타입: 유니온 타입
고급 타입: 유니온 타입
유니온 타입은 TypeScript에서 변수나 함수가 여러 가지 형식의 값을 가질 수 있도록 하는 강력한 기능입니다. 이는 코드의 유연성을 높이고, 다양한 데이터 유형을 처리할 수 있게 해줍니다. 기본적으로 유니온 타입은 파이프(|
) 기호를 사용하여 서로 다른 타입들을 결합합니다.
유니온 타입의 개념 이해하기
유니온 타입을 사용하는 주된 이유는 특정 변수가 여러 다른 값 중 하나일 수 있음을 명시하고 싶기 때문입니다. 예를 들어, 어떤 변수는 숫자 또는 문자열일 수 있습니다. 이 경우, 우리는 다음과 같이 정의할 수 있습니다:
let value: number | string;
value = 42; // 올바른 할당
value = "Hello"; // 올바른 할당
위 예제에서 value
라는 변수는 number
와 string
두 가지 형식을 가질 수 있습니다.
실용적인 예제
-
함수 매개변수
아래 예시는 매개변수가 유니온 타입인 함수를 보여줍니다:function printId(id: number | string) { console.log("Your ID is: " + id); } printId(101); // 출력: Your ID is: 101 printId("202A"); // 출력: Your ID is: 202A
-
객체 속성
객체 내에서 유니온 타입을 사용할 수도 있습니다: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
-
타입 좁히기
유니온 타입을 사용할 때 조건문을 통해 특정 형식으로 좁힐 수도 있습니다: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 응답이나 사용자 입력과 같은 불확실성이 있는 데이터에 적합하며, 이러한 특성을 활용하면 더욱 견고한 애플리케이션을 만들 수 있습니다.