#2727·jsdom

构造器和原型改革跟踪

作者: domenic创建于 2019年11月30日更新于 2026年9月17日

目前,如果 runScripts 设置为 "outside-only""dangerously",则 Node.js 的 vm 机制将将所有 ECMAScript 全局变量安装到 JSDOM 的 Window 中。也就是说,dom.window.TypeErrordom.window.Map 等都将存在,并且将是新的副本:dom.window.TypeError !== global.TypeError。如果 runScripts 保留其默认值 undefined,则这些变量将不存在。唯一的例外是数组,我们 从 Node.js 的外部环境中重命名。我们无论 runScripts 值如何都会这样做。据推测,这是为了以某种方式使我们通过更多测试,但正如评论中指出的那样,这是一个不一致的恶作剧。我希望以某种方式停止这样做。