这是啥 ES6 语法?函数调用后的冒号[重复]

Posted

技术标签:

【中文标题】这是啥 ES6 语法?函数调用后的冒号[重复]【英文标题】:What is this ES6 syntax? Colon after function call [duplicate]这是什么 ES6 语法?函数调用后的冒号[重复] 【发布时间】:2016-12-28 04:42:00 【问题描述】:

我正在查看 React 中通量存储的文档。他们举了下面的例子。

import ReduceStore from 'flux/utils';

class CounterStore extends ReduceStore<number> 
  getInitialState(): number 
    return 0;
  

  reduce(state: number, action: Object): number 
    switch (action.type) 
      case 'increment':
        return state + 1;

      case 'square':
        return state * state;

      default:
        return state;
    
  

参见 getInitialState(): number ,这似乎不遵循任何以前的 javascript 语法约定。用 ES5 语法怎么写?

【问题讨论】:

【参考方案1】:

那是 Typescript,它注释了函数返回的值的类型。 getInitialState 返回一个数字。

您可以在传递给 reduce() 的参数中看到相同的注释。这种注释可以让你的 IDE/文本编辑器做一些非常有用的建议和错误检查。

【讨论】:

谢谢 :) 您可能会认为在文档中的某个地方可能会提到他们正在使用打字稿,但显然不是! 虽然语法相似,但我很确定这是 flow 静态检查器而不是 TypeScript。查看github.com/facebook/flux中的注释【参考方案2】:

这不是 ES6 语法的一部分。您正在查看静态类型检查器的类型定义,例如 flowjs 或 TypeScript。没有 ES5 语法。

【讨论】:

以上是关于这是啥 ES6 语法?函数调用后的冒号[重复]的主要内容,如果未能解决你的问题,请参考以下文章

C++,构造函数后的冒号是啥意思? [复制]

急切加载时,关系后的冒号后跟两个列名有啥作用?

飞镖构造函数后的冒号

这是啥语法,含义明确[重复]

cocos2d-lua 模块函数时,啥时候不能用冒号

c语言中,函数定义中的冒号是啥意思?