TypeScript 提供了一系列常用的数据类型,这些类型通过静态类型检查提高代码的安全性和可维护性。以下是主要的 TypeScript 数据类型及其使用方式:
1. number
:表示数字类型,包括整数和浮点数。
let age: number = 25;
let price: number = 99.99;
2. string
:表示字符串类型。
let name: string = "John Doe";
let greeting: string = `Hello, ${name}`;
3. boolean
:表示布尔值,true
或 false
。
let isLoggedIn: boolean = true;
let hasPermission: boolean = false;
4. array
:表示数组,可以定义元素类型。两种语法:
let numbers: number[] = [1, 2, 3, 4];
let names: Array<string> = ["Alice", "Bob"];
5. tuple
:元组,表示固定长度和已知类型的数组。
let user: [string, number] = ["John", 30];
6. enum
:枚举,表示一组命名的常量。
enum Color { Red, Green, Blue }
let backgroundColor: Color = Color.Green;
7. any
:可以表示任何类型,适用于动态类型的数据。
let randomValue: any = 10;
randomValue = "Hello";
randomValue = true;
8. void
:通常用于函数,表示没有返回值。
function logMessage(message: string): void {
console.log(message);
}
9. null
和 undefined
:表示空值或未定义值。
let value: null = null;
let value2: undefined = undefined;
10. object
:表示非原始类型的对象。
let person: object = { name: "John", age: 30 };
11. union
(联合类型):允许一个变量使用多种类型。
let id: number | string;
id = 123;
id = "ABC123";
12. type alias
(类型别名):自定义类型,可以为复杂类型命名。
type User = { name: string; age: number };
let user: User = { name: "John", age: 25 };
13. interface
:用于定义对象的结构。
interface User {
name: string;
age: number;
}
let user1: User = { name: "Alice", age: 28 };
14. function
(函数类型):函数可以有明确的参数和返回值类型。
function add(a: number, b: number): number {
return a + b;
}
15. never
:表示永远不会发生的类型,比如抛出错误的函数。
function throwError(message: string): never {
throw new Error(message);
}
16. unknown
:表示未知类型(更安全的 any
)。
let someValue: unknown = "Hello";
if (typeof someValue === "string") {
console.log(someValue.length); // 类型检查后安全使用
}
17. type assertion
(类型断言):手动指定类型。
let someValue: any = "This is a string";
let strLength: number = (someValue as string).length;
这些 TypeScript 数据类型增强了 JavaScript 的灵活性,同时引入了类型检查,帮助开发者在编写和维护代码时发现和避免错误。在大型项目和多人协作中,使用这些类型可以大大提高代码的健壮性和可维护性。