字符是集体类型的一个更具体的子类型。这意味着 “Hello World “是一个字符串,但在类型系统里面,一个字符串并不是 “Hello World”。
    今天在TypeScript中有三组文字类型:字符串、数字和布尔值;通过使用文字类型,你可以允许一个字符串、数字或布尔值必须有的确切值。
    字符类型缩小
    当你通过var或let声明一个变量时,你告诉编译器这个变量有可能会改变它的内容。相反,使用const来声明一个变量会告知TypeScript这个对象永远不会改变。
    从无限数量的潜在情况(有无限数量的可能的字符串值)到一个较小的、有限数量的潜在情况(在helloWorld的情况下:1)的过程称为缩小。
    字符串类型
    在实践中,字符串文字类型与联合类型、类型守卫和类型别名结合得很好。你可以将这些特性结合在一起使用,以获得类似枚举的字符串行为。
    你可以传递三个允许的字符串中的任何一个,但是任何其他的字符串都会给出错误提示
    字符串文字类型可以用同样的方式来区分重载。
    数字字面类型
    TypeScript也有数字文字类型,它的作用和上面的字符串文字一样。

    一个常见的情况是用于描述配置值。
    布尔字面类型
    TypeScript也有布尔文字类型。你可以使用这些类型来约束属性相互关联的对象值。