在 ES12 中,新增了一个全局变量 globalThis
,它用于在任何 JavaScript 环境中访问全局对象。在浏览器中,全局对象是 window
,在 Node.js 中,全局对象是 global
,在 Web Workers 中,全局对象是 self
。
为什么需要 globalThis?
在不同的 JavaScript 环境中,访问全局对象的方式是不同的。例如,在浏览器中,我们可以使用 window
,但在 Node.js 中,我们需要使用 global
。这给开发者带来了困扰,因为他们需要在不同的环境中编写不同的代码。
为了解决这个问题,ES12 引入了全局变量 globalThis
,它提供了一种通用的方式来访问全局对象,无论在哪种 JavaScript 环境中都可以使用。
如何使用 globalThis?
使用 globalThis
非常简单,只需要在代码中使用它即可。例如,在浏览器中,我们可以这样访问全局对象:
const globalObject = globalThis;
在 Node.js 中,我们也可以这样访问全局对象:
const globalObject = globalThis;
示例代码
下面是一个使用 globalThis
的示例代码,它在不同的 JavaScript 环境中都可以运行:
const globalObject = globalThis; globalObject.setTimeout(() => { console.log('Hello, world!'); }, 1000);
总结
在 ES12 中,全局变量 globalThis
提供了一种通用的方式来访问全局对象,无论在哪种 JavaScript 环境中都可以使用。这使得开发者可以编写通用的代码,而不需要在不同的环境中编写不同的代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/662f2a45d3423812e4d200f8