literal 타입 원시 타입보다 더 구체적인 원시 타입 원시 값 자체가 타입이 된다. union 타입 union(|)은 값에 허용되는 타입을 두 개 이상으로 가능한 타입으로 확장하는 것 ex) phone: number | string; addr?: string; 확장된 타입에서 어느 하나의 타입에 할당 가능 type Member = { name: string, addr: string, discountRate: number; }; type Guest = { name: string, age: number, }; type Customer= Member | Guest; union type - narrowing과 type guard union type에서 특정 타입에만 존재하는 속성에 접근하고 싶을 때 type..