TypeScript: 기본 및 고급 타입
1. 기본 타입 (Primitive Types)
TypeScript는 자바스크립트의 기본 데이터 타입을 모두 명시적으로 선언할 수 있습니다.
let isDone: boolean = false;
let age: number = 30;
let userName: string = "Alice";
let list: number[] = [1, 2, 3]; // 배열
let tuple: [string, number] = ["hello", 10]; // 튜플
2. Union 및 Intersection
- Union (|): 값에 여러 타입 중 하나를 허용합니다.
- Intersection (&): 여러 타입을 하나로 결합합니다.
// Union
let code: string | number = 101;
code = "A101";
// Intersection
interface Person { name: string; }
interface Employee { id: number; }
type Staff = Person & Employee;
const newStaff: Staff = { name: "Bob", id: 123 };
3. Any, Unknown, Never
- Any: 모든 타입을 허용합니다. (자주 사용 지양)
- Unknown: 모든 타입을 허용하지만, 사용 전 타입 체크가 필요하여 Any보다 안전합니다.
- Never: 절대 발생할 수 없는 값의 타입을 의미합니다. (예: 항상 에러를 반환하는 함수)
4. Enum (열거형)
숫자 또는 문자열 값 집합에 이름을 부여할 수 있습니다.
enum Direction {
Up = 1,
Down,
Left,
Right,
}
let move: Direction = Direction.Up;