美文网首页
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静态类型检查器

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