有一个最小的可重复性示例:
interface BasicObject {
name: string;
}
interface Object extends BasicObject {
code: string
}
function generic<T extends BasicObject> (options: T) {
// something
}
function externalGeneric<T extends BasicObject>(a: Omit<T, 'name'>) {
generic(a);
}
你能解释一下,为什么Typescript忽略了a
没有name
字段,因此没有扩展BasicObject
这个事实吗?
Typescript的版本是4.6.2.