【问题标题】: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 语法怎么写?

【问题讨论】:

    标签: javascript reactjs ecmascript-6 flux


    【解决方案1】:

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

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

    【讨论】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-18
      • 2013-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-12
      • 2016-08-12
      • 2016-04-29
      相关资源
      最近更新 更多