Flowtype - 可以使用flowtype自动注释变量'类型?

时间:2016-08-02 09:57:52

标签: javascript type-inference flowtype

我搜索了flowtype的文档,但是我找不到与类型推断相关的东西,例如:

class SubAlert extends Alert
{
    {
        setHeaderText("");
        getDialogPane().getStylesheets().add("some_stylesheet");
        getDialogPane().getStyleClass().add("style_class");
        getDialogPane().setMinHeight(Region.USE_PREF_SIZE);
    }

    SubAlert(AlertType alertType)
    {
        super(alertType);
    }
    SubAlert(AlertType type,String title,String content)
    {
        super(type);
        setTitle(title);
        setContentText(content);
    }
}

使用flowtype后,它变为:

function add(x){
  return x+10;
}

就像jsnice。

2 个答案:

答案 0 :(得分:3)

cli command flow suggest <yourfile>。不幸的是它没有jsnice那么强大,并且不会帮助你处理这种情况,但如果你将它应用于例如

function sub(x, y){
    return x - y;
}

它会建议你

function sub(x, y): number{
    return x - y;
}

因此它或多或少有用。

你也可以尝试首先使用jsnice,然后使用flow-jsdoc将jsdoc注释转换为流。

答案 1 :(得分:2)

flow suggest确实是要走的路。通常,它不能推断导出函数的输入类型(只有文件中本地使用的未导出函数),但它可以填充所有函数的输出类型,局部变量的类型等。

另请注意,Flow不会推断出多态类型。