TypeScript入门到精通——TypeScript类型系统基础——单元类型、顶端类型、尾端类型

发布时间 2023-10-04 17:25:32作者: 左扬

单元类型

  单元类型(Unit Type)也叫作单例类型(Singleton Type),指的是仅包含一个可能值的类型。由于这个特殊的性质,编译器在处理单元类型时甚至不需要关注单元类型表示的具体值。

  TypeScript 中的单元类型有以下几种:

    • undefined 类型
    • null 类型
    • unique symbol 类型
    • void 类型
    • 字面量类型
    • 联合枚举成员类型

  我们能看到这些单元类型均值包含一个可能值。示例如下:

let x: undefined;

let y: null = null;

const sym: unique symbol = Symbol();

function doSomething(): void {  
  // 函数体  
}

const str: "hello" = "hello";

enum Shape {  
  Circle = "circle",  
  Square = "square",  
  Triangle = "triangle"  
}  
  
function drawShape(shape: Shape): void {  
  // 根据 shape 的值绘制不同的形状  
}

顶端类型

  顶端类型(Top Type)源自于数学中的类型论,同时它也被广泛应用于计算机编程语言中。顶端类型是一种通用类型,有时也称为通用超类型,因为在类型系统中,所有类型都是顶端类型的子类型,或者说顶端类型是所有其他类型的父类型。顶端类型涵盖了类型系统中所有可能的值。