有没有只支持严格模式的js环境?

Are there js environments which support strict mode only?

我目前正在开发一个依赖arguments.callee.caller的库。这与 "use strict" 不兼容,因此在严格模式下定义调用函数时会抛出错误。我发现了那些错误,它们并不重要,因为重要的部分没有在严格模式下定义。是否有仅支持严格模式的环境,因此与此库不兼容?

的上下文中,任何现代 JS 环境都将始终具有严格模式。即:

  • Module code is always strict mode code.
  • All parts of a ClassDeclaration or a ClassExpression are strict mode code.

当然,这里真正的答案是如果你想成为未来的证明,就不要使用arguments.callee.caller

但是如果你想避免严格的模式限制,你可以直接使用命名函数访问Function.caller。这是非常不鼓励的,因为它是一个非标准功能。

Is there an environment which supports only strict mode?

您可以配置 Node.js 来执行此操作,请参阅 Any way to force strict mode in node?:

node --use_strict