什么是 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