2021-05-08 09:08:10
globalThis 的浏览器支持情况如下:Chrome 从 71 版本开始支持,Firefox 从 65 版本开始支持,Safari 从 12.1 版本开始支持,Edge 从 79 版本(基于 Chromium 的新版 Edge)开始支持。
1. Chrome 的支持情况Chrome 从 71 版本 开始原生支持 globalThis。这一版本发布于 2018 年 12 月,是 Chrome 对 ECMAScript 2020 规范的早期实现之一。用户可通过访问 chrome://version/ 查看当前浏览器版本,若版本号 ≥71,则可直接使用 globalThis。
2. Firefox 的支持情况Firefox 从 65 版本 开始支持 globalThis,该版本于 2019 年 1 月发布。作为 Mozilla 对现代 JavaScript 特性的跟进,Firefox 65 完整实现了 ES11 的这一全局属性。用户可通过 about:support 页面确认版本,≥65 时功能可用。
3. Safari 的支持情况Safari 的支持始于 12.1 版本(2019 年 3 月发布)。此前版本需通过 polyfill 或转译工具兼容。用户可通过 菜单栏 > Safari > 关于 Safari 查看版本,若显示 12.1 或更高,则无需额外配置即可使用 globalThis。
4. Edge 的支持情况基于 Chromium 的新版 Edge 从 79 版本(2020 年 1 月发布)开始支持 globalThis。需注意,此支持仅适用于 Chromium 内核的 Edge,而非旧版 EdgeHTML 引擎。用户可通过 edge://settings/help 检查版本,≥79 时功能生效。
5. 兼容性建议使用 polyfill(如 core-js 库中的 globalThis 实现);
通过转译工具(如 Babel)将代码降级为 window 或 self 的兼容写法。
globalThis 作为 ECMAScript 2020(ES11)的标准特性,旨在统一全局对象的访问方式(替代 window、self、global 等环境差异)。其设计目标是提升跨环境代码的可移植性,尤其适用于 Web Workers、Node.js 等非浏览器场景。