VUE 源码学习 -- 关于flow在vue源码中的使用

当我在看vue源码的时候。我看到了

const vm: Component = this

这样一行。出自src/core/instance/init.js
const是javascript中常见的常量定义方法。但是我没有看到过这种带:的语法结构。
其实这是flow在起作用。VUE是用flow进行静态类型检测。
我们其实可以在这个init.js的最上方看到一行代码/* @flow */
这种冒号的结构就是vue利用flow进行静态结构检测的一个常见用法了。
其实在这个function定义的时候

export function initMixin (Vue: Class<Component>) {

这一行就已经用了flow的检测。

// @flow
function square(n: number): number {
  return n * n;
}

square("2"); // Error!

这是Flow官网给出的介绍。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容