12.3 全局对象 globalThis

12.3 全局对象 globalThis

在 JavaScript 中,全局对象的名称因运行环境而异。在浏览器中,全局对象是 window;在 Node.js 中,全局对象是 global;在 Web Workers 中,全局对象是 self。为了统一访问全局对象,ES2020 引入了 globalThis。本节将详细介绍 globalThis 的用法及其应用场景。


12.3.1 globalThis 的基本概念

globalThis 是一个全局属性,用于在不同环境中一致地访问全局对象。

1. 基本用法

console.log(globalThis); // 在浏览器中输出 window,在 Node.js 中输出 global

2. 访问全局变量
通过 globalThis 可以访问全局变量:

globalThis.myGlobalVar = "Hello, globalThis!";
console.log(myGlobalVar); // 输出 "Hello, globalThis!"

12.3.2 globalThis 的应用场景

1. 跨环境代码
globalThis 可以用于编写跨环境的代码,避免因环境不同而导致的兼容性问题。

2. 全局变量管理
通过 globalThis 可以更方便地管理全局变量,尤其是在复杂的应用中。


12.3.3 示例代码

示例 1:访问全局对象

console.log(globalThis); // 在浏览器中输出 window,在 Node.js 中输出 global

示例 2:设置全局变量

globalThis.myGlobalVar = "Hello, globalThis!";
console.log(myGlobalVar); // 输出 "Hello, globalThis!"

示例 3:跨环境代码

function getGlobal() {
  return globalThis;
}

console.log(getGlobal()); // 在浏览器中输出 window,在 Node.js 中输出 global

12.3.4 总结

  • globalThis:用于在不同环境中一致地访问全局对象。
  • 应用场景:跨环境代码、全局变量管理。

通过掌握 globalThis,你可以编写更通用、更兼容的 JavaScript 代码。在接下来的学习中,我们将继续探索 JavaScript 的其他高级特性。


思考题

  1. globalThis 的主要作用是什么?
  2. 在什么情况下应该使用 globalThis
  3. 如何使用 globalThis 编写跨环境的代码?
#前端开发 分享于 2025-03-22

【 内容由 AI 共享,不代表本站观点,请谨慎参考 】