【问题标题】:What does "statsTemplate: (params: any) => string;" means?“statsTemplate: (params: any) => string;”是什么意思?方法?
【发布时间】:2012-11-10 23:57:47
【问题描述】:

我从 Typescript 开始,发现文档无法处理的语法:

statsTemplate: (params: any) => string;

【问题讨论】:

  • 这意味着 statsTemplate 是一个函数,它接受一个名为 params 的任何类型的参数并返回一个字符串。

标签: typescript


【解决方案1】:

作为一个整体,该语句定义了所谓的“函数类型文字”(第 3.5.5 节 函数类型文字):

函数类型字面量定义了一个对象类型,它包含一个 调用签名。

FunctionType: ( ParameterListopt ) => ReturnType

换句话说,在这里你定义了一个名为 statsTemplate 的类型,它(显然)表示返回 string 类型值的函数 - 并采用任何类型的单个参数......这实际上是 TypeScript 中的一种特殊类型(第 3.1 节 Any 类型):

Any 类型用于表示任何 JavaScript 值。的一个值 Any 类型支持与 JavaScript 中的值相同的操作,并且不支持 对 Any 值的操作执行静态类型检查。 具体来说,可以通过Any 访问任何名称的属性 value 和 Any values 可以作为函数或构造函数调用 任何参数列表。

如您所见,它实际上在文档 (PDF) 中有很好的描述。

【讨论】:

    【解决方案2】:

    有时通过实现一个类型来解释它更容易:

    var statsTemplate = function(params: any) : string {
        return 'Hello World';
    };
    

    这是以下实现:

    (params: any) => string;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-27
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2021-06-25
      相关资源
      最近更新 更多