기본 타입 별칭 생성하기
가장 기본적인 형태로, 숫자, 문자열, 불린과 같은 타입을 유니온 타입으로 결합한 별칭을 만들 수 있습니다.
type Value = string | number;
let input: Value;
input = "안녕하세요";
console.log(`입력: ${input}`); // 출력: 입력: 안녕하세요
input = 42;
console.log(`입력: ${input}`); // 출력: 입력: 42
객체 타입에 별칭 붙이기
type Point = {
x: number;
y: number;
};
const origin: Point = { x: 0, y: 0 };
console.log(`좌표: (${origin.x}, ${origin.y})`); // 출력: 좌표: (0, 0)
함수 매개변수에 타입 별칭 활용하기
타입 별칭은 함수의 매개변수 타입으로 사용하여, 보다 직관적으로 함수가 받을 수 있는 인자의 종류를 명시할 수 있습니다.
type UserId = string | number;
function greetUser(id: UserId): string {
return `안녕하세요, 사용자 ${id}님!`;
}
console.log(greetUser("u123")); // 출력: 안녕하세요, 사용자 u123님!
console.log(greetUser(456)); // 출력: 안녕하세요, 사용자 456님!
문자열 리터럴 타입 별칭 사용하기
타입 별칭은 단순히 타입들을 결합하는 것뿐만 아니라, 특정 문자열 집합만 허용하도록 제한할 수도 있습니다. 이를 통해 코드 내에서 상수 값의 의미를 명확하게 할 수 있습니다.
type Color = "red" | "blue" | "green";
let selectedColor: Color = "blue";
console.log(`선택된 색상: ${selectedColor}`); // 출력: 선택된 색상: blue
// selectedColor = "yellow"; // 오류: "yellow"는 Color에 없음
복잡한 타입 간소화
튜플이나 중첩 객체 같은 복잡한 타입도 간소화할 수 있습니다.
type Employee = {
id: number;
details: [string, boolean]; // 이름, 활성 여부
};
const worker: Employee = {
id: 101,
details: ["지영", true],
};
console.log(`${worker.details[0]} (ID: ${worker.id}) - 활성: ${worker.details[1]}`);
// 출력: 지영 (ID: 101) - 활성: true
타입 vs 인터페이스
- 타입: 유니온, 튜플, 리터럴 등 다양한 타입에 유연하게 적용 가능, 확장 불가
- 인터페이스: 객체 중심, extends로 확장 가능
'TypeScript' 카테고리의 다른 글
[TypeScript] 함수 작성하기 (0) | 2025.02.24 |
---|---|
[TypeScript] 타입 단언(Type Assertion) (0) | 2025.02.24 |
[TypeScript] Union 타입 (0) | 2025.02.24 |
[TypeScript] never 타입 (0) | 2025.02.24 |
[TypeScript] unknown 타입 (0) | 2025.02.24 |