如果它采用函数,变量类型是什么?
What is the variable type if it takes a function?
我正在编写一个构造函数,它接受一个字符串、一个整数和一个函数(可能还有更多我目前还不知道的东西)。到目前为止,我得到了以下内容。
export class Blobb {
constructor(public value: number,
public name: string,
public mapping: function,
public misc: any) { ... }
}
显然,变量 mapping
使转译崩溃,因为 function 不是有效类型。我不知道该怎么办。
传递给构造函数的函数是否有特定类型? any
是首选方法吗?我应该考虑声明自己的类型吗?
如果它有任何意义,要传递的函数将始终是这样的(当然,计算会有所不同)。
mapping() {
this.value * 13 + ": " + this.name;
}
我自己没有使用过它们,但是从文档中,我看到类型别名是一个东西(在 TS 1.4 中引入);
例如:
type NameResolver = () => string;
function getName(n: NameOrResolver): Name {...}
你可以在 es2015 或更高版本中使用接口 'Function',所以它看起来像,
export class Blobb {
constructor(public value: number,
public name: string,
public mapping: Function,
public misc: any) { ... }
}
我认为您需要 Function
大写 'F' 而不是 function
。
function
我相信是声明新函数的关键字。
您可以使用确切的函数签名来注释参数,而不是将其指定为 Function
。在您的情况下,它可以输入为 () => void
:
export class Blobb {
constructor(public value: number,
public name: string,
public mapping: () => void,
public misc: any) { ... }
}
TypeScript 函数类型:https://www.typescriptlang.org/docs/handbook/functions.html#function-types
我正在编写一个构造函数,它接受一个字符串、一个整数和一个函数(可能还有更多我目前还不知道的东西)。到目前为止,我得到了以下内容。
export class Blobb {
constructor(public value: number,
public name: string,
public mapping: function,
public misc: any) { ... }
}
显然,变量 mapping
使转译崩溃,因为 function 不是有效类型。我不知道该怎么办。
传递给构造函数的函数是否有特定类型? any
是首选方法吗?我应该考虑声明自己的类型吗?
如果它有任何意义,要传递的函数将始终是这样的(当然,计算会有所不同)。
mapping() {
this.value * 13 + ": " + this.name;
}
我自己没有使用过它们,但是从文档中,我看到类型别名是一个东西(在 TS 1.4 中引入);
例如:
type NameResolver = () => string;
function getName(n: NameOrResolver): Name {...}
你可以在 es2015 或更高版本中使用接口 'Function',所以它看起来像,
export class Blobb {
constructor(public value: number,
public name: string,
public mapping: Function,
public misc: any) { ... }
}
我认为您需要 Function
大写 'F' 而不是 function
。
function
我相信是声明新函数的关键字。
您可以使用确切的函数签名来注释参数,而不是将其指定为 Function
。在您的情况下,它可以输入为 () => void
:
export class Blobb {
constructor(public value: number,
public name: string,
public mapping: () => void,
public misc: any) { ... }
}
TypeScript 函数类型:https://www.typescriptlang.org/docs/handbook/functions.html#function-types