打字稿中是否可以定义打字稿中函数的类型(注意:不是箭头函数)?
我知道以下方法:
const MyFunctionCreator = (): MyFunction => {
return function(input) {
return "";
};
};
但是,我试图在类中设置静态函数的类型,所以这不是理想的选择。
class MyClass {
static function(input) {
return "";
}
}
在上面的示例中是否可以做类似的事情:
class MyClass {
static myFunction: MyFunction(input) {
return "";
}
static myFunction(input) {
return "";
} as MyFunction
}
我当然可以每次都重新输入param / return类型,但是我希望在我的课堂上共享类型。
答案 0 :(得分:1)
您可以使用功能字段代替成员。对于静态字段,差异不大,例如,每次创建对象时它们都会被分配实例字段,因此创建大量实例可能会对性能产生影响。
type MyFunction = (input : string) => number
class MyClass {
static myFunction: MyFunction = function (input) {
return input.length; // input is string
}
// error wrong return type
static myFunctionError: MyFunction = function (input) {
return input;
}
}