gpt4 book ai didi

javascript - TypeScript 不提供函数名称

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:50 24 4
gpt4 key购买 nike

我有一些 typescript 代码,我正在做一些元编程,我需要能够访问 instance.func.name,但是 TypeScript 在编译的 JS 中省略了函数名称。

typescript :

class ClassName {
// ...
func(): ReturnType {
// ...
}
}

编译的 JavaScript:

// ...
ClassName.prototype.func = function () {
// ...
};

所需的 JavaScript:

ClassName.prototype.func = function func() {
// ... ^^^^
};

是否有我缺少的编译器选项,或者我可以在 TypeScript 中使用的关键字来完成此操作?

最佳答案

一个 解决方案,我不会将其标记为已接受,因为它不提供 name 属性,但可以与任何其他标识符一起使用,如下所示:

function named(target: any, key: string) {
target[key].functionName = key;
}

class ClassName {
// ...
@named
func(): ReturnType {
// ...
}
}

然后访问instance.func.functionName

关于javascript - TypeScript 不提供函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33647589/

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