TypeScript主要数据类型

TypeScript 是一种强类型的 JavaScript 超集,它提供了丰富的数据类型系统,以帮助开发者编写更安全、更易维护的代码。以下是 TypeScript 中的主要数据类型:
1. 基本数据类型
number
: 表示数字,包括整数和浮点数。string
: 表示字符串。boolean
: 表示布尔值,true
或false
。null
: 表示空值。undefined
: 表示未定义的值。
2. 复杂数据类型
array
: 表示数组,可以使用number[]
或Array<number>
的形式。tuple
: 表示元组,允许表示一个已知元素数量和类型的数组。object
: 表示对象类型。function
: 表示函数类型。
3. 特殊数据类型
any
: 表示任意类型,可以绕过类型检查。void
: 表示没有返回值的函数。never
: 表示永远不会发生的值的类型,通常用于抛出异常或无限循环的函数。unknown
: 表示未知类型,比any
更安全,因为它不允许直接操作。
4. 高级数据类型
enum
: 表示枚举类型。union
: 表示联合类型,允许一个变量具有多种类型,例如string | number
。intersection
: 表示交叉类型,将多个类型合并为一个类型,例如A & B
。literal
: 表示字面量类型,例如let x: "hello"
表示x
只能是"hello"
。
5. 自定义类型
interface
: 定义对象的形状。type
: 定义类型别名,可以用于基本类型、联合类型、交叉类型等。
6. 泛型
T
: 表示泛型类型,允许在定义函数、接口或类时不指定具体类型,而在使用时指定。
示例代码
// 基本数据类型
let num: number = 42;
let str: string = "Hello, TypeScript";
let bool: boolean = true;
// 复杂数据类型
let arr: number[] = [1, 2, 3];
let tuple: [string, number] = ["hello", 42];
// 特殊数据类型
let notSure: any = 4;
notSure = "maybe a string instead";
// 高级数据类型
type StringOrNumber = string | number;
let value: StringOrNumber = "hello";
value = 42;
// 自定义类型
interface Person {
name: string;
age: number;
}
let person: Person = {
name: "Alice",
age: 30
};
// 泛型
function identity<T>(arg: T): T {
return arg;
}
let output = identity<string>("myString");
总结
TypeScript 的数据类型系统非常丰富,涵盖了从基本类型到复杂类型、特殊类型和高级类型。通过合理使用这些类型,可以显著提高代码的可读性、可维护性和安全性。