繁体   English   中英

TypeScript 这一行是什么意思?

[英]What does that line of TypeScript mean?

我刚刚在 class 中的 TypeScript 文件中找到一行,看起来像

private handlers: ((event: string) => void)[]

然后还有一个function:

  private fire(event: string): void {
    for (const handler of this.handlers) {
      handler(event);
    }
  }

所以我的猜测是每个数组元素都有一个可以调用的 function 但我真的不明白这是如何工作的。 如果每个元素都附加了 function,它总是返回 void,那么所有数组元素不应该都是空的吗?

或者这是一些神奇的 TypeScript 语法?

typescript中的括号[]声明了一个数组。 (...params: any[]) => any的语法声明了一个 function。因此组合在一起(并使用括号。)你将得到一个函数数组。

这意味着handlers属性是一组函数,它们都接受一个string类型的参数event并返回void 所以数组里面的元素并不是都“”一个function,可以调用,但是它们函数。

这里要注意的重要一点是,数组只包含函数。 它们不会被调用。 要实际运行这些函数,您必须获取它们(通过迭代或索引数组)并使用指定的参数调用它们,就像您调用其他 function 一样。

你这样读可能更容易理解:

private handlers: Function[]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM