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