功能注释之间的区别

时间:2016-04-07 02:01:09

标签: typescript

我发现有几种方法可以表示函数属性:

var f1: (...args:any[]) => any;
var f2: { (...args:any[]):any; }
var f3: Function;

我的理解是f1是一个函数类型,f2是一个函数接口,f3是一个类型。它们之间是否有任何区别,或者它们本质上是不同的TypeScript机制来说同样的事情?否则,你何时会使用其中一个?

1 个答案:

答案 0 :(得分:1)

  

这些之间是否有任何区别,或者说TypeScript的本质上是不同的机制

一切都是等同的。基本上Function是最不安全的(...args:any[]) => any;基本上捕获相同的内容(我更喜欢Function表示您不保证任何安全性。)

更多

两者之间:

var f1: (...args:any[]) => any;
var f2: { (...args:any[]):any; }

首先只是第二种语法的简写语法。存在第二种语法,允许您声明重载,这是第一种语法无法完成的。