javascript - 获取 ES6 类方法的名称
问题描述
当我在我的程序中打印有用的错误时,我想沿着方法名称打印。因此,例如在下面的模拟代码中,当控制台登录时goodMorning
,我想通过调用getMethodName
函数在打印输出中嵌入名称“goodMorning”或“Hello.goodMorning”;该函数现在只返回“goodMorning”,但我希望它返回调用它的任何方法的名称(它可能需要一些参数才能做到这一点)。
const getMethodName = () => {
return 'goodMorning'
}
class Hello {
goodMorning () {
console.log(`I am inside ${getMethodName()} method`)
}
}
new Hello().goodMorning()
解决方案
我希望这是你的要求
const getMethodName = () => {
var functionName = new Error().stack.match(/at (.*?) /);
return functionName[1]
}
class Hello {
goodMorning() {
console.log(`I am inside ${getMethodName()} method`)
}
}
new Hello().goodMorning();
更好的是,您可以直接尝试捕获错误而无需调用任何特定函数
推荐阅读
- bash - 如何执行 bash 脚本来配置通道 MQ?
- php - 保存多个复选框值并使用 Laravel 保存到数据库
- sql - 如何为每个客户选择最常见的项目 ID?
- go - 如何在不使用字段的情况下在 Uber Zap 中记录键/值对
- powershell - 如何将命名参数传递给powershell中的另一个脚本
- drools - 感觉:list contains(inputDataNumberList, 1) with inputDataNumberList= [0,1] 返回 false
- html - 页脚不会停留在移动视图中
- java - 如何在 Java 中获取泛型类型类的类
- css - react-scripts build 打包时忽略 css 文件
- javascript - 如何使用 JavaScript 使 Css 类消失和出现