欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-28 12:32:25
...

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