ECMAScript 2021 中的 globalThis 为 JavaScript 提供了全局对象的统一访问方式

阅读时长 2 分钟读完

ECMAScript 2021 中的 globalThis 为 JavaScript 提供了全局对象的统一访问方式

JavaScript 中的全局对象是指在整个程序运行生命周期内都是存在的、可以被任何代码访问到的对象。在不同的环境和平台中,全局对象的名称和属性是不同的。例如在浏览器中,全局对象是window,而在Node.js中,全局对象则是global。

在不同的环境中使用不同的全局对象名称,给开发者带来了不小的麻烦。为了解决这一问题,ECMAScript 2021 中引入了globalThis,它是全局属性,指向当前的全局对象,保证全局访问方式的统一。

举个例子,在浏览器环境中,我们要获取全局对象window中的innerText属性,代码如下:

而在Node.js环境中,我们同样要获取全局对象global中的console属性,代码如下:

这两段代码明显有很大的差异,而使用globalThis后,我们只需要这样写:

即可在任何环境中,以统一的方式获取当前的全局对象以及其中的属性。

此外,globalThis还有一个比较重要的应用场景,即解决跨平台开发的问题。在Web和Node.js中,开发者常常需要编写可在不同平台上运行的代码,这就需要统一全局对象的访问方式。使用globalThis后,开发者不再需要考虑平台的差异,可以以相同的全局对象访问方式编写代码。

总结一下,globalThis是ECMAScript 2021 中的新特性,为JavaScript带来了全局对象的统一访问方式。它的应用场景包括跨平台开发、多环境下代码编写等。开发者在编写代码时,可以使用globalThis来获取全局对象以及其中的属性。

示例代码:

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

纠错
反馈