JS获取调用栈信息
我们在某些特殊场景会想要获取当前的调用栈信息,比如当前执行的代码在哪个文件,在第几行触发的。
借助 new Error()
可以获取调用栈信息。
console.trace()也能跟踪堆栈信息,但是不好格式化输出
let stack = (new Error()).stack
console.log(stack)
我们来格式化一下
function formatStack() {
let stack = (new Error()).stack
let msg = stack.toString().split('\n')[1] // 格式化
console.log(msg)
}
formatStack()