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官网给出的介绍。

    原文作者:fred_33c7
    原文地址: https://www.jianshu.com/p/666eb3e3376d
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞