随着 JavaScript 语言的发展,JavaScript 在不断地发生变化,从 ES6 开始,JavaScript 的更新速度越来越快。在 ES12 中,我们迎来了一个新的全局变量 globalThis。
globalThis 的定义
所谓 globalThis,指的是全局对象。在浏览器环境下,全局对象是 window;在 Node 环境下,全局对象是 global。但是,全局对象的名称并不是标准的,这给跨平台开发带来了困扰。ES12 中加入了 globalThis,它表示的就是自己所在的环境的全局对象。
globalThis 的应用
对于全局对象的使用,ES11 已经有所限制,规定只有通过 globalThis,才能访问全局对象的属性和方法。这样一来,不同环境下的全局对象就可以进行统一的操作。
同时,globalThis 还可以解决在不同环境下进行代码调试的问题。比如,在浏览器环境下,我们可以直接使用 console.log,但在 Node 环境下,需要使用 console。通过 globalThis,我们可以这样写代码:
globalThis.console.log('hello world');
这样写就不用考虑是在浏览器还是在 Node 环境下了。
在实际开发中,我们可以使用 globalThis 来实现跨平台的代码编写,比如:
-- -------------------- ---- ------- -- ----- ----------------------------------- -- - ---------------------- --- -- ------- -------------- -- --------------------------- - ----- --- - --- ---------------------------- --------------- ---- ------ ---------- - -------- -- - -------------------------- -- ----------- - -- - ---- ----- ---- -- -- -------------------- - ----- ---- - --------------------------- ------------- --- -- - ------------------------- -------------- ---- -- - ------------------ --- --- -
这样写就能够在不同环境下实现相同的功能了。
总结
globalThis 可以解决跨平台的问题,也能够统一不同环境下的全局对象的名称,使得代码的编写更加方便。但是,在使用 globalThis 的时候,我们还是要遵循良好的编码习惯,充分考虑代码的兼容性和可读性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/646712d6968c7c53b077ac47