ts中接口多继承和联合类型的用法有没有区别
export interface GoodsMenuState extends KState<InitData> {}export type GoodsProps = PageWrapperProps<Reducers, Asyncs> & GoodsState & {
location: { pathname: string };
};
以上代码中声明的类型与一下声明方式有没有区别,新手入坑,求指教
interface GoodsProps extends PageWrapperProps<Reducers, Asyncs>, GoodsState {
location: { pathname: string };
}
疑问:接口多继承是否也可以实现&(联合类型)的效果
回答
第一,你这不叫联合类型(Union Types),联合类型是逻辑或的关系;你这是逻辑和关系,是交叉类型(Intersection Types)。
第二,你这个例子里确实可以,但语义上二者是有区别的。多继承遵循 OOP 的继承关系;而交叉类型是类似于 Object.assign
效果的。在某些情况下,只能用交叉类型、而不能用多继承,比如:
以上是 ts中接口多继承和联合类型的用法有没有区别 的全部内容, 来源链接: utcz.com/a/40430.html