类型检查
Typescript有两种类型检查,分别为非严格类型检查,还有一个是严格类型检查。第一种类型检查是默认方式。
原始类型
Typescript中的boolean
和js中的一样,都是true
和false
两个逻辑值。string
类型中,我们常用字符串字面量或模板字面量来创建string类型的值。number
类型能够采用双精度64位二进制浮点数格式存储的数字。bigint类型能够表示任意精度的证书,但也仅能表示整数。bigint
采用了特殊的对象数据结构来表示和存储一个整数。symbol
类型能够表示任意synbol值。如果我们想要表示固定值的字面量,我们可以使用unique symbol
类型,这个类型主要用于接口、类等类型中的可计算属性名。这种类型不能使用var或let声明定义,否则会报错,而且这种类型的值只允许使用Symbol()
函数或Symbol.for()
方法返回的返回值进行初始化,才能确保唯一的值。Symbol.for()
返回的是相同的Symbol值。Nullable
类型的值可以是undefined或者null类型的。它们通常用来表示某个值还未进行初始化。undefined
类型只包含一个可能值就是undefined。null
类型也只包含一个可能值,就是null。undefined类型和null类型是不同的类型,它们必须区分对待,不能互相使用。void
类型用来表示某个值不存在,这个类型是用作函数返回值的类型。如果一个函数没有返回值,这个函数的返回值类型就是void类型。
枚举类型
枚举类型是由0个或者多个枚举成员组成,每个枚举成员都是一个命名的常量。枚举类型可以使用enum
关键之来定义。如果我们用enum关键字定义枚举类型Direction,可以使用Up
、Down
、Left
、Right
。定义好之后我们可以像访问对象属性一样访问枚举成员。如果定义数字类型枚举时,可以定义多个枚举成员设置初始值,也可以定义为一个。如果定义字符串枚举,那么枚举成员的值为字符串,而且字符串枚举成员必须使用字符串字面量或另一个字符串枚举成员来初始化。我们可以使用字符串枚举Direction
来初始化direction,但是不允许将string类型赋值给字符串枚举类型。