美文网首页
Flow_JS静态类型检查器

Flow_JS静态类型检查器

作者: AmazRan | 来源:发表于2018-08-12 14:54 被阅读14次

Flow Checker是Facebook公布的一个JavaScript静态类型检查器,能够在不改变代码的情况下,检查JavaScript中一般的Bug,如:无声类型转换、空指针引用等等。同时,Flow也支持给JavaScript添加类型语法,因此,开发者们可以通过在他们的代码中声明不变量让其自动维护。

Flow可以将其理解为两个东西:静态类型检查器、JavaScript方言

冒号后跟数据类型。
例:
function foo(x: string, y: number): number { return x.length * y; }
限制x为string,y为number,函数返回number。

function f(param:1|2|3|4|5){/*...*/}
declare var oneOrTwo:1|2;// Subset of the input parameters type.
declare var fiveOrSix:5|6;// Not a subset of the input parameters type.

f(oneOrTwo);// Works!
f(fiveOrSix);// Error!

以下代码中,value可以是"A"or"B".

function method(value: "A" | "B") {
    if (value === "A") { // value is "A"
    }
}

prop?:string 代表prop为string且可能存在。

function otherMethod() { /* ... */ }

function method(value: { prop ? : string }) {
    if (value.prop) {
        var prop = value.prop;
        otherMethod();
        prop.charAt(0);
    }
}

参考

教程:http://www.pinqy.cn/notes/flow-learning-1
官方文档:https://flow.org/

相关文章

  • Flow_JS静态类型检查器

    Flow Checker是Facebook公布的一个JavaScript静态类型检查器,能够在不改变代码的情况下,...

  • 阅读Vue源码--前置知识

    Flow[https://flow.org/] 认识 FlowJavaScript 静态类型检查器,vue 源码利...

  • 语言类型实例

    无类型: 汇编弱类型、静态类型 : C/C++弱类型、动态类型检查: Perl/PHP强类型、静态类型检查 :Ja...

  • auto

    静态类型和类型检查。对于所谓的静态类型,类型检查主要发生在编译阶段;而对于动态类型,类型检查主要发生在运行阶段。这...

  • 编程语言里函数方法类型检查的重要性

    importance of type checking and evaluation 静态类型检查和动态类型检查:...

  • Mypy:Python静态类型

    什么是Mypy Mypy是Python的可选静态类型检查器。您可以在Python程序中添加类型提示(PEP 484...

  • Flow(一)—— JavaScript静态类型检查器

    目录 Flow概述 Flow VS. TypeScript Flow安装 Flow使用在文件开头要使用注释在代码中...

  • 第六讲-动态代理是基于什么原理

    编程语言有很多分类角度 动态类型和静态类型是一种分类角度,简单区别就是语言类型信息是再运行时检查,还是在编译器检查...

  • Go语言学习笔记-变量与作用域

    Go 语言变量的声明 Go 语言是静态类型语言,因此变量 (variable) 是有明确类型的,编译器也会检查变量...

  • 静态类型检查总结

    对于id类型的变量,调用任何方法都能够通过编译(调用不存在的方法时候会抛出运行时错误) id类型可以存储任何类型的...

网友评论

      本文标题:Flow_JS静态类型检查器

      本文链接:https://www.haomeiwen.com/subject/keusbftx.html