gpt4 book ai didi

javascript - 如何在 TypeScript 中声明 lambda 样式的函数名称属性?

转载 作者:行者123 更新时间:2023-11-28 05:29:58 24 4
gpt4 key购买 nike

我在 Node 项目中使用 TypeScript 2.0。 Node 中的函数有一个 name 属性。我尝试扩展 TypeScript Function 接口(interface)来声明属性,如下所示:

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

然后我尝试了:

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;

关于javascript - 如何在 TypeScript 中声明 lambda 样式的函数名称属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780975/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com