Javascript 在流中声明函数签名

Javascript 在流中声明函数签名,javascript,facebook,flowtype,Javascript,Facebook,Flowtype,流文档有一种声明模块和类的方法,但我在源代码之外没有看到任何关于类上声明方法的内容。如果要实现抽象基类之类的东西,这一点尤其有用。能做到吗?我想要的是: class A { declare function myfun(t : T) : S; } 其中,S和T是其他地方已经声明的类型(我现在还不想引入类型变量)。我们可以使用以下解决方法: class A { myfun(t : T) : ?S { return null; } } 即使我将子类设置为发出非null返回值,我仍然会收

流文档有一种声明模块和类的方法,但我在源代码之外没有看到任何关于类上声明方法的内容。如果要实现抽象基类之类的东西,这一点尤其有用。能做到吗?我想要的是:

class A { 
 declare function myfun(t : T) : S; 
}
其中,
S
T
是其他地方已经声明的类型(我现在还不想引入类型变量)。我们可以使用以下解决方法:

class A {
  myfun(t : T) : ?S { return null; }
}

即使我将子类设置为发出非null返回值,我仍然会收到关于null检查的流警告

进行类型检查的临时解决方案是:

class A { 
  myfun: (t : T) => S;
}