我在一个Node项目中使用TypeScript 2.0。Node中的函数有一个name属性。我已经尝试扩展TypeScript Function接口来声明属性,像这样:
interface Function
{
name: string
}
interface IAsyncInfo {
name: string,
args: any[],
func: (...args: any[]) => any
}
var info: IAsyncInfo;
var name = info.func.name
但是TypeScript仍然在最后一行抱怨:
Property 'name' does not exist on type (...args: any[]) => any
Then I try:
var name = (info.func as Function).name
但是TypeScript抱怨
type '(...args: any[]) => any' cannot be converted to type 'Function'
我真的不知道你在尝试什么
你想要这样的东西吗?interface IAsyncInfo {
name: string;
args: any[];
func(...args: any[]): any;
}
var info: IAsyncInfo;
var test = info.func.name;