打字稿允许 arguments.callee.name?

Posted

技术标签:

【中文标题】打字稿允许 arguments.callee.name?【英文标题】:Typescript allowing for arguments.callee.name? 【发布时间】:2019-07-28 17:10:50 【问题描述】:

如果我们在tsconfig.json"strict": false,那么我们可以访问arguments.callee.name

是否有其他设置可以打开,同时保持"strict": true 以获得相同的效果?

我希望尽可能严格,不要更严格。

【问题讨论】:

typescript 被转译成 javascript,所以没有。 从几年前插入我自己的答案:yeah it's possible, but ugly 并不完全可靠——我建议不要在产品中使用它。 【参考方案1】:

对不起,伙计……你想严格还是不严格。 arguments.callee 十年前已被弃用。您要解决的问题是什么?除了非常特殊的情况外,还有更好的方法来处理......

【讨论】:

谢谢@LeroyStav。我正在创建一个自定义错误并希望包含引发异常的方法名称,而不是自己编写它,我认为 javascript 可以为我抓取它......但显然这很棘手:) 如果你只是想调试你的代码,为什么不打印一个堆栈跟踪? 实际上,这几乎就是 p.s.w.g 在他的评论链接中描述的内容......您可以从抛出的 Error 对象中解析堆栈跟踪。在那里放一个断点,看看哪些属性可用,找出适合你的属性

以上是关于打字稿允许 arguments.callee.name?的主要内容,如果未能解决你的问题,请参考以下文章

为啥打字稿允许我覆盖一个空的状态对象?

类泛型类型的打字稿方法允许任何

打字稿允许 arguments.callee.name?

打字稿:允许泛型类型仅是具有“字符串”属性的对象

打字稿中的通用对象类型

打字稿模块分辨率