// 1. 字面量类型与联合类型interface Res {code: 500 | 400 | 401status: 'success' | 'failure'data: object}declare var res: Resif(res.status === 'success') {} // 完善的提示// 2. 字面量类型详解/*像上面的 success 它不是一个值,而代表着一个字面量类型,是原始类型的子类型(层级类型)*/// 3.联合类型: 一组类型的集合//函数需要用()括起来interface Tmp {mixed: true | string | 599 | {} | (() => {}) | (1 | 2)}// 联合类型的类型推导interface Tmp2 {user:| {vip: true,expires: string}|{vip: false,promotion: string}}declare var tmp: Tmp2if(tmp.user.vip) {console.log(tmp.user.expires);}
