最近在看Vue的源码,发现一个问题,在src/core/instance/index.js中作者定义了
function Vue (options) {
this._init(options)
}
export default Vue;
这export出的是一个函数,然后在其他的地方大量使用了(Vue: GlobalAPI)
export function initAssetRegisters (Vue: GlobalAPI) {}
export function initGlobalAPI (Vue: GlobalAPI) {}
严格来说,GlobalAPI与Vue是两个不同的东西,但是GlobalAPI变量名却为Vue,容易造成阅读混淆,不知道大家怎么看待这个问题?
问题描述
问题出现的环境背景及自己尝试过哪些方法
相关代码
// 请把代码文本粘贴到下方(请勿用图片代替代码)
GlobalAPI 是声名的一个Interface 类型对象,这样写是限定Vue的类型,就好像强类型语言一样,可以验证错误。比如flow.js的官网的例子

个人理解,仅供参考