function Union(union: Developer | Person) {
// Union Type이 되면, 타입(Developer |or Person)의 공통된 타입만 속성이 된다.
union.name; // (property) name: string
union.age;
// @Error : union.age
// Why not Error?.... not or.. (property) Person.age: number !== WHY?
union.skill;
// Property 'skill' does not exist on type 'Developer | Person'.
// Property 'skill' does not exist on type 'Person'.
}
function askUnion(union: Developer & Person) {
// Union Type이 되면, 타입(Developer &and Person)의 정의된 타입 모두 속성이 된다.
union.name //(property) name: string
union.age //(property) Person.age: number
union.skill //(property) Developer.skill: string
}
var kureha: string | number | boolean // var kureha: string | number | boolean
var ryosuke: string & number & boolean; // var ryosuke: never