2012-11-17 242 views
1

为什么我必须将功能转换为Function类型才能够访问apply和其他成员?使用打字稿的功能类型

var a: Function =() => {}; 
a.apply(); // works 

var a =() => {}; 
a.apply(); // does not work 

我应该如何使用这些功能?:

function a(){} 
a.apply(); // does not work 

回答

1

如果你通过了“本”的说法到apply功能,它似乎工作无论哪种方式做到这一点:

var a =() => {}; 
a.apply(null); 

var b: Function =() => {}; 
b.apply(null); 
+0

有趣。它有效,但'apply'的intellisense不起作用。你有没有观察到同样的情况,这不是一个错误? –

+0

我认为这是故意的。它不会在intellisense列表中显示'apply',但是如果你键入'apply('它意识到它并暗示了所需的参数,我不能代表TypeScript团队发言 - 但我认为这可能会是故意的,'call'也是如此。 – Fenton