使用技巧
类型复用
type
复用 type
类型、type
复用 interface
类型:
ts
type Point = {
x: number;
y: number;
};
type Coordinate = Point & {
z: number;
};
ts
interface Point {
x: number;
y: number;
}
type Coordinate = Point & {
z: number;
};
interface
复用 interface
类型、interface
复用 type
类型:
ts
interface Point {
x: number;
y: number;
}
interface Coordinate extends Point {
z: number;
}
ts
type Point = {
x: number;
y: number;
};
interface Coordinate extends Point {
z: number;
}
提取/排除属性
Props接口需要被复用,但是需要排除 gender 字段,添加 hobby 字段。
typescript
interface Props { interface Props1 {
name: string; name: string;
age: number; => age: number;
gender: string; hobby: string; // 排除gender,新增hobby
} }
typescript
// Omit排除属性
interface Props1 extends Omit<Props, "gender"> {
hobby: string;
}
// Pick取出属性
interface Props1 extends Pick<Props, "name" | "age"> {
hobby: string;
}