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