美文网首页TypeScript
TypeScript 数据类型——联合类型 (Union Typ

TypeScript 数据类型——联合类型 (Union Typ

作者: Levid_GC | 来源:发表于2018-07-04 14:35 被阅读0次

    联合类型

    联合类型表示的值可能是多种不同类型当中的某一个。比如,A | B 联合类型的某个值就可能是 A 类型,也可能是 B 类型。很显然,联合类型放宽了类型的取值的范围,也就是说值的范围不再限于某个单一的数据类型。同时,它也不是无限制地放宽取值的范围,如果那样的话,完全可以使用 any 代替。

    提示:我们在创建联合类型的时候,可以使用 type 关键字为自定义的联合类型加上别名,这样可以避免我们重复它们的定义,比如:

    type SeriesOfTypes = string | number | boolean | Error;
    

    字面量类型

    字面量也就是 JavaScript 基元类型具体的值。而在 TypeScript 中,我们可以将字面量作为一种自定义的类型,这种类型被称为字面量类型。比如:

    type China = 'China';
    
    let country: China = 'China';  // ok
    country = 'America';  // error: Type '"America"' is not assignable to type '"China"'.
    

    结合上面所了解到的联合类型,我们可以将自定义的字面量类型组合成一个新的联合类型:

    type Weekdays = 1 | 2 | 3 | 4 | 5;
    
    let day: Weekdays = 1;  // ok
    day = 5;  // ok
    day = 6;  // error: Type '6' is not assignable to type 'Weekdays'.
    

    字面量联合类型的形式与枚举类型有些类似,所以,如果您仅是使用数字,可以考虑是否使用给具有表达性的枚举类型。

    参考资料

    相关文章

      网友评论

        本文标题:TypeScript 数据类型——联合类型 (Union Typ

        本文链接:https://www.haomeiwen.com/subject/snueuftx.html