globalThis

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

globalThis 可以获取全局对象。

语法

globalThis

历史

在 JavaScript 的世界中,如何获取全局对象一直是个难题。在 Web 中,全局对象是 windowself 或者 frames。在 Node.js 中,是 global 或者 this。除此之外,还有一些别的 JavaScript 环境。在非严格模式中,则可以使用 this。在严格模式中,依然可以使用 Function("return this")() 来获取全局对象,但是由于一些环境的 CSP 策略,这个方法也可能不能使用。

在实现此特性后,使用 globalThis 即可获取全局对象。

命名

此特性曾经在提案时命名为 global,但有些网站因此运行不正常了,所以改名为 globalThis 了。

规范

Specification Status Comment
tc39 提案 globalThis Draft 目前处于 Stage 3

浏览器兼容

本特性暂时尚未正式进入 ECMAScript 规范草案,所以暂未使用结构化数据展示浏览器兼容性。在进入规范后,可向 https://github.com/mdn/browser-compat-data 提交结构化数据更新本表格。

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Feature Chrome Edge Firefox (Gecko) Internet Explorer Opera Safari
Basic support 70 未实现 未实现 未实现 57 未实现

文档标签和贡献者

此页面的贡献者: Jack.Works
最后编辑者: Jack.Works,