跳到主要内容

TypeScript类型系统

基础类型

// 原始类型
let str: string = 'hello';
let num: number = 42;
let bool: boolean = true;

// 数组
let arr1: number[] = [1, 2, 3];
let arr2: Array<string> = ['a', 'b', 'c'];

// 元组
let tuple: [string, number] = ['hello', 10];

// 枚举
enum Color {
Red,
Green,
Blue
}

接口

interface User {
name: string;
age: number;
readonly id: number;
email?: string;
}

// 实现接口
class Employee implements User {
constructor(
public name: string,
public age: number,
readonly id: number
) {}
}

类型别名

// 类型别名
type Point = {
x: number;
y: number;
};

// 联合类型
type Status = 'pending' | 'fulfilled' | 'rejected';

// 交叉类型
type Admin = User & {
privileges: string[];
};

泛型

// 泛型函数
function identity<T>(arg: T): T {
return arg;
}

// 泛型接口
interface Collection<T> {
add(item: T): void;
remove(item: T): void;
}