什么是"function():any {"的意思

Dav*_*ile 6 javascript

我在这里看到了这个片段:

render: function(): any {
  var thread = this.state.thread;
  var name = thread ? thread.name : "";
  var messageListItems = this.state.messages.map(getMessageListItem);
  return (
    <div className="message-section">
    <h3 className="message-thread-heading">{name}</h3>
// ...
Run Code Online (Sandbox Code Playgroud)

function(): any{ 第一行中的部分是什么意思?

如果以前曾经问过这个问题,请道歉,但是很难搜索到这一点,特别是当你不知道它叫什么时.

Ale*_*ara 9

这不是JavaScript的一部分,它是由JavaScript预处理器Flow添加的额外功能.

从本质上讲,Flow添加了一个类型检查功能,并使用它为符号添加类型提示.在这种情况下,: any是方法的类型提示render,意味着该方法可以返回任何类型.

摘录形成类型注释文档为any:

any是一种特殊类型的注释,表示通用动态类型.any可以流向任何其他类型,反之亦然.any 基本上是"走开我的路,我知道我在做什么"的注释.当Flow阻挡你的方式时使用它,但你知道你的程序是正确的.


一个有趣的小注意事项,现在废弃的ES4草案中提出了类型提示的功能,与此非常类似.据我所知,它只在ES衍生的ActionScript 3中实现.