ES11 新特性之 globalThis 对象的使用教程

引言

JavaScript 是一门非常灵活的编程语言,但就因为这种灵活性,它也存在一些不优美的编程模式。比如,在不同的环境中,访问全局对象 windowglobal 的行为是不一样的。而在 ES11 中,我们迎来了一个新的全局对象 globalThis,它可以帮助我们在不同的宿主环境下,非常方便地访问全局变量。

globalThis 的介绍

globalThis 是一个在全局作用域下存在的变量,它代表了全局对象。如果在浏览器中使用,那么它就是 window 对象;如果在 Node.js 中使用,那么它就是 global 对象。

在 ES11 中,globalThis 成为了 ECMAScript 的内置特性。这意味着你无需加载任何模块,就可以在任何现代 ES11 版本的环境中使用它。

globalThis 的用法

代码示例:

接下来,我们将分别介绍在浏览器和 Node.js 中,如何使用 globalThis

在浏览器中使用 globalThis

在浏览器中,我们可以通过 globalThis 来访问全局变量,而不需要使用 window 对象。由于 globalThis 在不同的环境中指向的对象是不一样的,所以我们可以使用 globalThis 来编写可移植的代码。

代码示例:

在 Node.js 中使用 globalThis

在 Node.js 中,我们可以通过 globalThis 来访问全局变量,而不需要使用 global 对象。

代码示例:

总结

在 ES11 中,globalThis 成为了内置特性,它可以帮助我们在不同的宿主环境下访问全局变量,代码可移植性得到了很大的提高。在浏览器和 Node.js 中,我们都可以使用 globalThis 来访问全局变量。

因此,在编写 JavaScript 应用程序的时候,我们应该优先使用 globalThis 来代替 windowglobal 对象,以此提升代码的可移植性和通用性。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/653748397d4982a6ebfbf144


纠错
反馈