关于Vue3中Plugin的类型定义疑惑?

Vue3的Plugin类型定义:

declare type Plugin_2 = (PluginInstallFunction & {
    install?: PluginInstallFunction;
}) | {
    install: PluginInstallFunction;
};
export { Plugin_2 as Plugin }

declare type PluginInstallFunction = (app: App, ...options: any[]) => any;

这里用交叉类型的目的是什么?

PluginInstallFunction & {
    install?: PluginInstallFunction;
}

为何不直接写成这种?

declare type Plugin_2 = PluginInstallFunction | {
    install: PluginInstallFunction;
};
阅读 1.2k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题