function doSomething(in: number | string)
...
interface Person {
name: string;
age: number;
}
interface Developer {
name: string;
skill: number;
}
type Capt = Person & Developer;
/*
typeof Capt: {
name: string;
age: number;
skill: string;
}
*/
타입스크립트는 특정한 값의 문자열로 타입을 설정할 수 있다.
아래는 타입스크립트 도큐먼테이션에 나오는 예시로, 만약 특정 변수에 들어오는 값이 한정되있다면, 타입스크립트 타입 정의로 들어오는 값의 오타를 예방할 수 있다.
interface AnimationOptions {
deltaX: number;
deltaY: number;
easing: "ease-in" | "ease-out" | "ease-in-out";
}
// Error: Type '"ease-inout"' is not assignable to type '"ease-in" | "ease-out" | "ease-in-out"'
new UIElement().animate({ deltaX: 100, deltaY: 100, easing: "ease-inout" });