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;
};