typescript接口和类型别名

typescript接口

接口是一种用于定义对象的结构和类型的方式,在TypeScript中,我们可以使用接口来约束对象的形状,包括属性、方法等。

接口的定义和使用:使用interface关键字来定义一个接口。

可选属性和只读属性:接口中的属性可以设置为可选的,也可以设置为只读的。

函数类型接口:接口还可以用来定义函数的结构。

类类型接口:接口也可以用来约束类的结构。

示例代码:

// 定义一个接口
interface Person {
  firstName: string;
  lastName: string;
}

// 使用接口约束对象
function printFullName(person: Person): void {
  console.log(`${person.firstName} ${person.lastName}`);
}

let person1: Person = { firstName: "Alice", lastName: "Smith" };
printFullName(person1);

typescript类型别名

类型别名是用来给一个类型起一个新名字的方式,在TypeScript中,我们可以使用类型别名来创建更复杂的类型。

基本类型别名:可以用来给基本类型起别名。

联合类型和交叉类型:类型别名可以用来创建联合类型或交叉类型。

示例代码:

// 基本类型别名
type Age = number;

type PersonInfo = {
  firstName: string;
  lastName: string;
  age: Age;
};

let person: PersonInfo = { firstName: "Bob", lastName: "Johnson", age: 30 };

// 联合类型和交叉类型
type Player = PersonInfo & { sport: string };

let basketballPlayer: Player = {
  firstName: "Michael",
  lastName: "Jordan",
  age: 58,
  sport: "Basketball",
};


在这个示例中,我们使用接口Person定义了一个简单的人员信息结构,并使用接口约束了printFullName函数的参数类型。接着,我们使用类型别名Age和PersonInfo分别定义了一个基本类型别名和一个复杂类型别名。最后,我们使用交叉类型别名Player创建了一个拥有人员信息和运动项目的结构。

网友评论0