ES10 的 globalThis

阅读时长 2 分钟读完

在前端开发中,我们经常需要在不同的环境下运行代码,比如浏览器、Node.js 等。不同的环境下,全局对象的名称也会有所不同,这就给我们带来了一些麻烦。为了解决这个问题,ES10 中引入了一个新的全局对象——globalThis。

globalThis 的作用

globalThis 是一个全局对象,可以在任何环境下使用。它可以用来获取全局对象,在不同的环境下都可以使用同样的代码。

在浏览器中,globalThis 指向 window 对象。在 Node.js 中,globalThis 指向 global 对象。在 Web Worker 中,globalThis 指向 self 对象。

如何使用 globalThis

使用 globalThis 非常简单,只需要在代码中使用全局对象时,将其替换为 globalThis 即可。

例如,在浏览器中,我们可以使用以下代码来获取浏览器的窗口对象:

使用 globalThis,我们可以将代码改为:

这样,无论在哪个环境下运行代码,都可以获得正确的全局对象。

示例代码

下面是一个使用 globalThis 的示例代码,它可以在浏览器和 Node.js 中都正常运行:

在浏览器中,上述代码将输出 window 对象。在 Node.js 中,上述代码将输出 global 对象。

总结

ES10 中的 globalThis 对于跨平台开发非常有用。使用 globalThis,我们可以编写一套代码,在不同的环境下都可以正常运行。在实际开发中,我们应该尽可能地使用 globalThis,以减少代码的复杂性和出错的可能性。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66006dfdd10417a222bb077b

纠错
反馈