任何功能的类型

时间:2014-07-24 15:54:28

标签: typescript

任何类型的功能是什么类型的?例如:

var f = function(something) {return 1;};
f = function() {return 'fdsa';};
f = function(p1, p2, p3) {DoNothing()};

在TS中进行编译应该具有哪一种类型?

2 个答案:

答案 0 :(得分:1)

在TS中我们应该使用3个不同的变量,除非我们要将f声明为any所以这在JS中:

var f1 = function(something) {return 1;};
var f2 = function() {return 'fdsa';};
var f3 = function(p1, p2, p3) {DoNothing()};
在TS中,

会有类似这样的类型:

var f1 : (something:any) => number;
var f2 : () => string;                          
var f3 : (p1:any, p2:string, p3:number) => void;

实施可能是这样的:

f1 = (something:any) => { return 1; };
f2 = () => { return 'fdsa'; };           
f3 = (p1:any, p2:string, p3:number) => { DoNothing(); };

答案 1 :(得分:1)

var f: Function = function(something) {return 1;};
f = function() {return 'fdsa';};
f = function(p1, p2, p3) {DoNothing()};
f = 4; // error
f(3); // OK