Skip to content

使用技巧

类型复用

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;
}

Released under the MIT License.