ECMAScript 2020 中的全局对象:globalThis

阅读时长 2 分钟读完

介绍

在 ECMAScript 2020 (ES11) 中,新增了全局对象 globalThis,它提供了在任何 JavaScript 环境中都能访问全局属性和函数的方法。

在不同的 JavaScript 环境中,全局对象称谓可能不同。例如,在浏览器中,全局对象是 window,而在 Node.js 环境中,全局对象是 global。为了避免在不同环境中的代码兼容问题,ES11 引入了 globalThis,可以在任何环境中访问全局对象。

使用

全局对象 globalThis 在使用时和 window、global 一样。它提供了全局访问对象的能力,从而可以访问全局调用函数、属性等。

-- -------------------- ---- -------
-- ----- ------ --
----- ------------ - --------------
--------------------

-- ----- ------ --
----- ---- - ----------------
--------------------

-- ----- ---------- --
------------------------

当在 Web Worker 或不同的 JS 环境中执行代码时,使用 globalThis 可以消除环境之间的潜在兼容性问题。

意义

使用 globalThis 可以提高代码的简洁性和可移植性,同时避免了环境之间的兼容性问题。因此,在未来的开发中,我们可以优先考虑使用 globalThis 替代以前的 window,global 对象。

总结

全局对象 globalThis 提供了在所有 JavaScript 环境中都能访问全局属性和函数的方法。可以取代之前环境不同而出现的兼容性问题。因此,在以后的开发中,我们应该优先使用 globalThis。

在实际开发中,不论是使用 window、global、globalThis,为了代码可维护性,应尽可能减少全局变量的使用,避免出现命名冲突和不必要的污染。

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

纠错
反馈