
JavaScript globalThis 对象
在本教程中,您将学习如何使用 JavaScript globalThis 对象
在本教程中,您将学习如何使用 JavaScript globalThis 对象。
JavaScript globalThis 对象简介
ES2020 引入 globalThis 对象,它提供了一种跨环境访问全局对象的标准方法。在之前,JavaScript 有一个在不同环境中具有不同名称的全局对象。
在Web 浏览器,全局对象是 window 或 frames。Node.JS 使用 global 关键词来引用全局对象。
但是,Web Workers API 没有 window 对象,因为它没有浏览上下文。因此,Web Workers API 将 self 用作全局对象。
| 环境 | Global 对象 |
|---|---|
| Web Browsers | this |
| Web Workers | self |
| Node.JS | global |
如果您编写跨环境工作的 JavaScript 代码并且需要访问全局对象,则必须使用不同的语法,例如 window, frames, self 或 global。
为了对此进行标准化,ES2020 引入跨环境可用的 globalThis 。例如,以下代码检查当前环境是否支持 Fetch API:
const canFetch = typeof globalThis.fetch === 'function';
console.log(canFetch);代码检查 fetch() 函数是否是全局对象的属性。在网络浏览器,globalThis 是window 对象。因此,如果您在现代 Web 浏览器运行此代码,则 canFetch 是 true.
以下代码在 Web 浏览器返回 true:
globalThis === window输出:
true结论
使用 globalThis 对象引用全局对象,使代码跨环境工作。
















