妙用 ECMAScript 2020 中的 globalThis 全局对象

在 ECMAScript 2020 中,新增了一个全局对象 globalThis,它可以让我们在任何环境中都能够很方便地获取到全局对象。在浏览器中,全局对象就是 window 对象;在 Node.js 中,全局对象是 global 对象。通过 globalThis,我们可以在不同的环境中编写通用的代码,而不需要担心全局对象的差异。

使用 globalThis 获取全局对象

在以往的 JavaScript 版本中,获取全局对象的方式可能有所不同。在浏览器中,我们可以使用 window 对象;在 Node.js 中,我们可以使用 global 对象。而在 ECMAScript 2020 中,我们可以使用 globalThis 对象来获取全局对象。

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

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

通过这种方式,我们可以在任何环境中获取到全局对象,而不需要担心代码在不同的环境中出现问题。

在不同的环境中编写通用的代码

在以往的 JavaScript 版本中,我们可能需要编写不同的代码来适应不同的环境。例如,在浏览器中,我们可能需要使用 window 对象来访问全局变量;而在 Node.js 中,我们需要使用 global 对象来访问全局变量。这样会导致代码的可移植性变得很差。

在 ECMAScript 2020 中,我们可以使用 globalThis 对象来编写通用的代码。例如,我们可以编写一个通用的函数来访问全局变量:

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

通过这个函数,我们可以在任何环境中访问全局变量,而不需要担心代码在不同的环境中出现问题。

总结

在 ECMAScript 2020 中,新增了一个全局对象 globalThis,它可以让我们在任何环境中都能够很方便地获取到全局对象。通过 globalThis,我们可以在不同的环境中编写通用的代码,而不需要担心全局对象的差异。在实际开发中,我们可以使用 globalThis 来编写更加通用的代码,提高代码的可移植性和可重用性。

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