详解 ECMAScript 2020 中的 globalThis

什么是 globalThis

在 ECMAScript 2020 中,新增了全局对象 globalThis。它的作用是一个全局性的对象,可以在任何地方都访问到。它与之前的全局对象 window、global、self 等等不一样,因为浏览器和 Node.js 环境下全局对象不一样,在不同的环境下,全局对象也不一样,这给我们开发者带来了很多不便。globalThis 就是为解决这个问题而出现的。

globalThis 的使用方法

globalThis 的使用方法非常简单,直接使用即可:

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

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

上面的代码在浏览器和 Node.js 环境下使用时,globalThis 都可以返回全局对象。

globalThis 的使用场景

下面我们来看一下 globalThis 的一个使用场景。

在浏览器端开发中,通常我们需要使用 window 对象来获取一些全局的属性和方法,比如:

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

但是在 Web Worker 环境下,是没有 window 对象的,这会导致我们的代码在 Web Worker 环境下无法使用。而使用 globalThis 对象就可以解决这个问题,因为在 Web Worker 中访问 globalThis 时可以获取到全局对象 self。

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

总结

通过本文我们了解了 ECMAScript 2020 中的 globalThis 对象,它是一个全局性的对象,可以在不同的环境下访问到全局对象。使用 globalThis 可以大大简化我们代码中的因为环境而导致的一些问题。在开发过程中如果需要访问全局对象,我们可以考虑使用 globalThis。

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