Type alias DuplicateKeys<A, B>

DuplicateKeys<A, B>: { [ P in keyof A]-?: P extends keyof B ? P : never }[keyof A]

获取两个Object中重复的key name

Example

DuplicateKeys<{a:string}, {b:string}>; // never
DuplicateKeys<{a:string}, {a:string}>; // "a"
DuplicateKeys<{a:string;b:string}, {a:string}>; // "a"
DuplicateKeys<{a:string;b:string}, {a:string;b:string}>; // "a"|"b"

Type Parameters

  • A

  • B