返回

Typescript 进阶类型:探索更高阶的数据表达方式

见解分享

类型别名:简化类型声明

type PersonName = string;
type Age = number;

let fullName: PersonName = "Jane Doe";
let personAge: Age = 30;

接口:定义对象结构

interface Person {
  name: string;
  age: number;
}

let person: Person = {
  name: "John Doe",
  age: 25
};

泛型:构建可复用类型

function sum<T>(a: T, b: T): T {
  return a + b;
}

let result1 = sum(1, 2); // number
let result2 = sum("Hello", "World"); // string

联合类型:表示多种可能类型

type PersonOrNumber = Person | number;

let value: PersonOrNumber = {
  name: "Jane Doe",
  age: 30
};

value = 100; // 也可以赋值为数字

交叉类型:组合多个类型

type PersonWithJob = Person & {
  job: string;
};

let personWithJob: PersonWithJob = {
  name: "John Doe",
  age: 25,
  job: "Software Engineer"
};

枚举:定义一组常量

enum Job {
  SoftwareEngineer = "Software Engineer",
  ProjectManager = "Project Manager",
  Designer = "Designer"
}

let job: Job = Job.SoftwareEngineer;

进阶类型:丰富 TypeScript 的类型系统

在 TypeScript 中,进阶类型为我们提供了更加灵活和强大的数据类型表达方式,使我们能够构建更加健壮和可扩展的应用程序。这些进阶类型包括联合类型、交叉类型、泛型、类型别名、接口和枚举。通过理解和掌握这些进阶类型,我们能够更加有效地编写 TypeScript 代码,从而提高代码质量和开发效率。