以下代码:
export type Partial2DPoint = { x: number } | { y: number }
export interface Partial3DPoint extends Partial2DPoint {
z: number
}
Run Code Online (Sandbox Code Playgroud)
失败并出现以下错误:
接口只能扩展对象类型或对象类型与静态已知成员的交集。
为什么会这样?
chi*_*ode 49
(我正在回答我自己的问题)这是因为您不能使用接口扩展联合类型。您必须使用类型别名:
export type Partial2DPoint = { x: number } | { y: number }
export type Partial3DPoint = Partial2DPoint & { z: number }
Run Code Online (Sandbox Code Playgroud)
类可以以完全相同的方式实现接口或类型别名。但是请注意,类和接口被视为静态蓝图。因此,它们不能实现/扩展命名联合类型的类型别名。
归档时间: |
|
查看次数: |
13360 次 |
最近记录: |