提高开发速度:使用 ES2020 中的 globalThis

阅读时长 2 分钟读完

随着 Web 应用程序的复杂性不断增加,现代前端开发人员在同时考虑性能,可维护性和可拓展性时,增加了很多挑战。ES6 和 ES7 的出现几乎是让前端开发提供了无限的可能性,但是,ES6 和 ES7 中存在许多非常酷的功能,例如箭头函数,类,解构等,但仍有许多功能缺失,特别是在全局对象的处理上。幸运的是,ES2020 引入了一个新的内置对象globalThis,它可以为开发人员提供可移植性并在不同的运行时中正确使用全局对象。

什么是 globalThis ?

globalThis 是一个当前环境下全局对象的通用引用,尤其是在浏览器和 Node.js 中。它简单地为顶级代码(非周期函数)和下一个运行时(周期函数)提供了一个通用和可移植的全局引用。

globalThis 用于:

  • 使引用全局对象更容易,不需要检测运行时环境。
  • 全局对象的引用是使用属性或调用它的方法来实现。

使用 globalThis 提高开发速度

现在,您可以使用 globalThis 来确保您的代码运行在不同的运行时环境中时正确引用全局对象。

例如,全局对象在浏览器中被称为 window ,在 Node.js 中被称为 global 。如果您想在这两个环境中引用全局对象并执行其属性,则需要使用条件逻辑检测环境,这将导致代码的不必要复杂性。

但是,使用globalThis ,如下所示,在任何环境中都可以引用全局对象:

总结

globalThis 是一个新的内置对象,它代表当前环境中的全局对象。使用 globalThis 是确保您的代码在任何环境中都可以正确引用全局对象的一种简单方法。对于需要在不同的运行时环境中运行的代码,使用 globalThis 将使开发人员的生活更加轻松。

参考

ES2020:对全局对象的全方位引用

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

纠错
反馈