-
基础类型 (Basic Types):
-
Boolean:布尔值。
let isDone: boolean = false;
-
Number:数字。
let decimal: number = 6;
-
String:字符串。
let color: string = "blue";
-
Array:数组类型。
let list: number[] = [1, 2, 3]; // 或 let list: Array<number> = [1, 2, 3];
-
Tuple:已知元素数量和类型的数组。
let x: [string, number] = ['hello', 10];
-
Enum:枚举类型。
enum Color {Red, Green, Blue} let c: Color = Color.Green;
-
Any:任何类型,尽量避免使用。
let notSure: any = 4;
-
Void:通常用于函数没有返回值的场景。
function warnUser(): void { console.log("This is my warning message"); }
-
Null 和 Undefined:它们有自己的类型名称,但不是特别有用。
let u: undefined = undefined; let n: null = null;
-
Never:表示永远不会发生的值的类型。
function error(message: string): never { throw new Error(message); }
-
Object:表示非原始类型。
declare function create(o: object | null): void;
-
-
高级类型 (Advanced Types):
-
Union Types:联合类型。
let value: number | string = 'hello'; // 可以是 number 或 string
-
Intersection Types:交叉类型。
interface A { a: string } interface B { b: string } let value: A & B = { a: 'a', b: 'b' };
-
Type Aliases:类型别名。
type Name = string;
-
Literal Types:文字类型。
type Easing = "ease-in" | "ease-out" | "ease-in-out";
-
Mapped Types:映射类型。
type Readonly<T> = { readonly [P in keyof T]: T[P]; };
-
Conditional Types:条件类型。
type TypeName<T> = T extends string ? "string" : T extends number ? "number" : "object";
-
-
自定义类型:
-
Interface:接口。
interface LabelledValue { label: string; }
-
Class:类。
class Greeter { greeting: string; constructor(message: string) { this.greeting = message; } greet() { return "Hello, " + this.greeting; } }
-
Type Assertion:类型断言。
let someValue: any = "this is a string"; let strLength: number = (<string>someValue).length; // 或 let strLength: number = (someValue as string).length;
-
这只是 TypeScript 类型的简短概述。实际上,TypeScript 提供了更多的类型工具和技巧,以帮助你更好地描述和管理你的代码。如果你想要深入了解更多关于 TypeScript 的类型,建议查看其官方文档。