타입스크립트에서 유니온 타입(Union Type)이란 무엇인가요?
_____유니온 타입은 변수나 함수 매개변수 등이 여러 타입 중 하나일 수 있음을 명시하는 타입입니다. 즉, 하나의 값이 여러 타입 중 하나에 해당할 수 있음을 표현합니다.
Q2: 유니온 타입의 기본 문법은 어떻게 되나요?
두 개 이상의 타입을 `|`(파이프) 기호로 연결하여 정의합니다. 예를 들어,
```typescript
let value: string | number;
```
위 코드에서 `value`는 `string` 또는 `number` 타입 값을 가질 수 있습니다.
Q3: 유니온 타입을 사용하는 이유는 무엇인가요?
- 보다 유연한 변수 및 함수 매개변수 타입 지정이 가능합니다.
- 여러 타입을 다뤄야 하는 상황에서 한번에 처리할 수 있습니다.
- 코드의 가독성과 유지보수성을 높여줍니다.
Q4: 유니온 타입으로 선언된 변수에 값을 할당할 때 주의할 점은 무엇인가요?
유니온 타입 중 한 가지 타입의 값만 할당할 수 있습니다. 예를 들어, `string | number` 타입 변수에는 `boolean` 값을 할당할 수 없습니다.
Q5: 유니온 타입 변수를 사용할 때 타입 좁히기(type narrowing)는 어떻게 하나요?
유니언 타입 변수에서 특정 타입의 속성이나 메서드를 안전하게 사용하려면, 타입 가드(type guard)를 사용하여 실제 타입을 확인해야 합니다. 예:
```typescript
function printId(id: string | number) {
if (typeof id === 'string') {
console.log(id.toUpperCase()); // string 타입임이 보장됨
} else {
console.log(id.toFixed(2)); // number 타입임이 보장됨
}
```
Q6: 유니온 타입과 인터섹션 타입(Intersection Type)의 차이는 무엇인가요?
- 유니온 타입은 여러 타입 중 하나를 의미합니다. (`A | B`)
- 인터섹션 타입은 여러 타입을 모두 만족하는 타입을 의미합니다. (`A & B`)
즉, 유니온은 '또는'의 의미이고 인터섹션은 '그리고'의 의미입니다.
Q7: 유니온 타입의 예시는 어떤 것이 있나요?
```typescript
type Result = Success | Failure;
interface Success {
success: true;
data: string;
}
interface Failure {
success: false;
error: string;
}
```
위와 같이 API 응답 결과를 명확히 구분하는 데 활용할 수 있습니다.
---
요약하자면, 타입스크립트에서 유니온 타입은 변수나 값이 여러 타입 중 하나임을 명시하는 타입 시스템 기능으로, 코드 안정성과 유연성을 동시에 제공합니다.
작성자:
박지우 [비회원]
| 작성일자: 1년 전
2024-09-10 05:32:10
조회수: 177 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 177 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.