typescript自定义类型
时间: 2023-07-28 20:35:48 浏览: 142
TypeScript 中可以通过 `type` 和 `interface` 关键字来定义自定义类型。
### type
使用 `type` 可以定义一个类型别名,可以使用已有的类型来定义一个新的类型。
```typescript
type User = {
name: string;
age: number;
gender: 'male' | 'female';
}
const user: User = {
name: 'Tom',
age: 18,
gender: 'male'
}
```
上述代码中,我们使用 `type` 定义了一个名为 `User` 的类型别名,它包含 `name`、`age` 和 `gender` 三个属性,其中 `gender` 的值只能是 `male` 或 `female`。
### interface
使用 `interface` 可以定义一个接口,它可以描述一个对象的形状,包括属性和方法。
```typescript
interface Person {
name: string;
age: number;
sayHello: () => void;
}
const person: Person = {
name: 'Tom',
age: 18,
sayHello() {
console.log(`Hello, my name is ${this.name}.`);
}
}
```
上述代码中,我们使用 `interface` 定义了一个名为 `Person` 的接口,它包含 `name`、`age` 和 `sayHello` 三个属性,其中 `sayHello` 是一个函数类型。
无论是 `type` 还是 `interface`,都可以用来定义自定义类型,具体使用哪个关键字取决于具体情况。
阅读全文