贼好用的TypeScript自定义类型(持续更新)

28 阅读1分钟
type Fn<Args = any, Return = void> = (...args: Args[]) => Return

type MaybeArray<T> = T | T[]

type DeepPartial<T> = {
  [P in keyof T]?: T[P] extends object
  ? T[P] extends Function // 如果属性是函数,则不继续递归
  ? T[P]
  : DeepPartial<T[P]> // 否则递归应用 DeepPartial
  : T[P];
}