ES12 中的 globalThis 以及它的应用

阅读时长 3 分钟读完

随着 JavaScript 语言的发展,JavaScript 在不断地发生变化,从 ES6 开始,JavaScript 的更新速度越来越快。在 ES12 中,我们迎来了一个新的全局变量 globalThis。

globalThis 的定义

所谓 globalThis,指的是全局对象。在浏览器环境下,全局对象是 window;在 Node 环境下,全局对象是 global。但是,全局对象的名称并不是标准的,这给跨平台开发带来了困扰。ES12 中加入了 globalThis,它表示的就是自己所在的环境的全局对象。

globalThis 的应用

对于全局对象的使用,ES11 已经有所限制,规定只有通过 globalThis,才能访问全局对象的属性和方法。这样一来,不同环境下的全局对象就可以进行统一的操作。

同时,globalThis 还可以解决在不同环境下进行代码调试的问题。比如,在浏览器环境下,我们可以直接使用 console.log,但在 Node 环境下,需要使用 console。通过 globalThis,我们可以这样写代码:

这样写就不用考虑是在浏览器还是在 Node 环境下了。

在实际开发中,我们可以使用 globalThis 来实现跨平台的代码编写,比如:

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

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

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

这样写就能够在不同环境下实现相同的功能了。

总结

globalThis 可以解决跨平台的问题,也能够统一不同环境下的全局对象的名称,使得代码的编写更加方便。但是,在使用 globalThis 的时候,我们还是要遵循良好的编码习惯,充分考虑代码的兼容性和可读性。

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

纠错
反馈