ECMAScript 2020 (ES11) 中的 globalThis 全局对象详解

阅读时长 3 分钟读完

在 ECMAScript 2020 (ES11) 中,新增加了一个全局对象 globalThis,它是一个全局可访问的对象,可以在任何地方使用。本文将详细介绍 globalThis 对象的作用、用法和示例。

globalThis 对象的作用

在早期的 JavaScript 版本中,全局对象是 window 对象。然而,随着 JavaScript 的发展,出现了多个宿主环境,例如浏览器、Node.js 等,全局对象的实现方式也不同。在这种情况下,使用全局对象会导致代码在不同的宿主环境下出现兼容性问题。

为了解决这个问题,globalThis 对象应运而生。它可以在任何宿主环境中使用,不需要担心兼容性问题。globalThis 对象是一个全局可访问的对象,它包含了所有宿主环境中的全局对象。

globalThis 对象的用法

globalThis 对象可以在任何地方使用,例如在函数、类、模块等中。以下是一些常用的用法:

在浏览器中使用

在浏览器中,globalThis 对象就是 window 对象。可以通过以下方式访问:

在 Node.js 中使用

在 Node.js 中,globalThis 对象就是 global 对象。可以通过以下方式访问:

在函数中使用

在函数中,可以使用 globalThis 对象来访问全局作用域中的变量和函数,例如:

在类中使用

在类中,可以使用 globalThis 对象来访问全局作用域中的变量和函数,例如:

在模块中使用

在模块中,可以使用 globalThis 对象来访问全局作用域中的变量和函数,例如:

globalThis 对象的示例

以下是一些使用 globalThis 对象的示例代码:

示例 1:获取全局对象

输出结果:

示例 2:获取全局作用域中的变量

输出结果:

示例 3:获取全局作用域中的函数

输出结果:

总结

globalThis 对象是一个全局可访问的对象,可以在任何宿主环境中使用,不需要担心兼容性问题。它包含了所有宿主环境中的全局对象。在函数、类、模块等中,可以使用 globalThis 对象来访问全局作用域中的变量和函数。

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

纠错
反馈