TypeScript的内置数据类型主要包括以下几类:
-
基本数据类型:
number
:表示数字,包括整数和浮点数。在TypeScript中,所有数字均被视为浮点数。string
:表示字符串,可以包含任意字符。boolean
:表示布尔值,只有两个可能的值:true
和false
。null
和undefined
:分别表示空值和未定义值。它们是两个独立的类型。bigint
(ES2020引入):表示大于JavaScriptnumber
类型所能表示的最大整数范围的整数。
-
对象类型:
object
:表示非原始类型,即除了number
、string
、boolean
、null
、undefined
(以及bigint
和symbol
,如果考虑ES6+的扩展)之外的所有类型。这包括数组、函数、类等。
-
数组与元组类型:
Array<T>
或T[]
:表示元素类型为T
的数组。例如,number[]
表示数字数组。Tuple
:表示元组类型,它是一个固定长度的数组,但各元素的类型可以不必相同。例如,[string, number]
表示一个元组,第一个元素是字符串,第二个元素是数字。
-
枚举类型:
enum
:表示一组命名的常数。例如,可以定义一个枚举来表示颜色。
-
特殊类型:
any
:表示任意类型,可以赋值给任何变量,允许进行任意操作。使用any
会丢失类型检查的好处。void
:表示没有任何值,通常用于函数没有返回值的情况。never
:表示永远不会出现的值的类型,通常用于抛出异常或永远不会返回的函数。unknown
:表示未知类型,与any
类似,但在赋值给其他变量之前需要进行类型检查或类型断言。
-
工具类型与高级类型:
- TypeScript还提供了一系列工具类型,如
Partial<T>
、Required<T>
、Readonly<T>
、Pick<T, K>
、Record<K, V>
、Exclude<T, U>
、Extract<T, U>
、Omit<T, K>
等,用于类型的操作和转换。 - 此外,还有
Parameters<T>
和ReturnType<T>
等用于提取函数参数类型和返回类型的工具类型。
- TypeScript还提供了一系列工具类型,如
-
字面量类型:
- 允许指定一个具体的值作为类型。例如,
let status: 'success' | 'error' = 'success';
中,status
变量的类型被限制为只能是'success'
或'error'
这两个字面量值之一。
- 允许指定一个具体的值作为类型。例如,
这些内置数据类型为TypeScript提供了强大的类型系统,使得开发者能够更精确地描述数据的结构和行为,从而提高代码的可读性、可维护性和健壮性。