' | ' 를 이용해 여러 타입을 설정할수 있게 한다.
복수로 사용하게 되면 공통된 타입만 뽑아 낼수 있다.
const Roy : string | number | boolean;
두개의 interface를 타입 지정해 놓으면 그중
'공통된' 타입에 있는 key:value 만 사용가능하다.
혹은 여러 타입을 interface로 정해놓고 그중 하나씩 가지고 와도 된다.
interface Developer {
name: string;
skill: string;
}
interface Person {
name: string;
age: number;
}
function askSomeone(someone: Developer | Person) {
someone.name;
}
// Developer type
asksomeone({ name: '이로이', skill: '앱 개발'});
// Person type
askSomeone({ name: '뱅뱅', age: 20});
Union type과 같이 여러 타입을 설정할수 있지만,
복수로 사용하게 되면 모든 타입을 뽑아 낼수 있다.
두개의 interface를 타입 지정해 놓으면
지정해놓은 타입의 모든 key:value를 가져와야한다.
interface Developer {
name: string;
skill: string;
}
interface Person {
name: string;
age: number;
}
function askSomeone(someone: Developer & Person) {
someone.name;
}
// Developer & Person type
asksomeone({ name: '이로이', skill: '앱 개발', age:20});
출처 : 타입스크립트 핸드북