zoukankan      html  css  js  c++  java
  • 【2020-01-17】高级类型

    一、交叉类型

    交叉类型是将多个类型合并为一个类型。这让我们把现有的多种类型叠加到一起成为一种类型,它包含了所需的所有类型的特性。

     二、联合类型

    表示一个值可以是几种类型之一,我们用竖线 | 分隔每个类型,所以string | number,表示一个值既可以是string 也可以是 number

     三、类型保护和区分类型

     四、可以为null的类型

    null和undefined 

     如果编译器不能够去除null或undefined ,你可以使用类型断言手动去除。语法是添加!后缀

     五、类型别名

    类型别名会给类型起一个新名字。类型别名有时和接口很像,但是可以作用于原始值,联合类型,元组以及其他任何你需要手写的类型

    起别名不会新建一个类型 - 它创建了一个新名字来引用那个类型。给原始类型起别名通常没什么用,尽管可以作为文档的一种形式使用

    同接口一样,类型别名也可以是泛型-我们可以添加类型参数并且在别名声明的右侧传入:

     然而。类型别名不能出现在声明右侧的任何地方

    六、接口 VS 类型别名

    类型别名和接口有一些细微差距

    1、接口可以被实现,和可以继承其他接口,但是类型别名不可以

    2、无法通过接口来描述一个类型并且需要使用联合类型或元组类型,这时通常会使用类型别名

    七、字符串字面量类型

    字符串字面量类型允许你指定字符串必须的固定值。在实际应用中,字符串字面量类型可以与联合类型,类型保护和类型别名很好的配合

     八、可辨识联合

     九、完整性检查

     十、多态的this类型

     由于这个类使用了this类型,你可以继承它,新的类可以直接使用之前的方法,不需要做任何的改变

    十一、索引类型(Index types)

    使用索引类型,编译器就能够检查使用了动态属性名的代码。

     十二、索引类型和字符串索引签名

  • 相关阅读:
    SAP BW维护项目中的常见问题 沧海
    从印度英语想到creole 沧海
    侃State模式
    住在“天堂”的代价一个工薪阶层买房的感受
    家庭财务总管软件设计
    侃观察者模式(Observer)
    软件设计起步:画UML类图
    一个提醒软件---好朋友
    学习设计模式的一些心得
    一次偶然结对编程的感受
  • 原文地址:https://www.cnblogs.com/QQ-lala/p/12207251.html
Copyright © 2011-2022 走看看