/** * 用类型U中属性覆盖类型T中的同名属性 * @example * 输入: * type A = { age: number; name: string; visible: boolean }; * type B = { age: string; other: string }; * type C = OverWrite * 输出: * type C = { * age: string; * name: string; * visible: boolean; *} */ export type OverWrite & Pick> = Pick;