在 ECMAScript 2020 中,我们引入了 globalThis 对象。这个全局对象提供了一个标准化的方式来访问全局环境,不管是在浏览器还是 Node.js 中运行 JavaScript。
什么是 globalThis 对象?
在以前,我们需要使用许多不同的方式来访问全局环境,例如:
- 在浏览器中使用 window 对象
- 在 Node.js 中使用 global 对象
这使得代码在不同环境下运行变得复杂。ECMAScript 2020 引入了 globalThis 对象,这个对象提供了一个跨平台的访问全局环境的方式。
globalThis 可以被认为是当前环境下的顶层对象,无论是在浏览器中还是在 Node.js 中。你可以使用它来访问 global 和 window 对象,也可以在其他环境中访问相同的全局对象。
如何在代码中使用 globalThis 对象?
使用 globalThis 对象非常简单。如果你想在代码中访问全局对象,可以使用以下代码:
console.log(globalThis);
这个对象包含了当前环境下的所有全局变量和函数。例如,在浏览器中,它包含了 window 对象和所有浏览器 API,而在 Node.js 中,它包含了 global 对象和 Node.js API。
你也可以使用 globalThis 来访问全局对象中的属性和方法。例如,在浏览器中,以下代码将会打印浏览器窗口的宽度和高度:
console.log(globalThis.window.innerWidth); console.log(globalThis.window.innerHeight);
在 Node.js 中,你可以使用以下代码打印 Node.js 版本号:
console.log(globalThis.process.version);
总结
ECMAScript 2020 中的 globalThis 对象为 JavaScript 开发者提供了一个统一的访问全局环境的方式,无论是在浏览器还是在 Node.js 中运行代码。这个全局对象使得代码更加简单和易于维护,并且让我们可以在各种 JavaScript 环境中编写可移植的代码。
在你的下一个项目中,尝试使用 globalThis 对象访问全局变量和函数,并看看它是如何简化你的代码并使得它更加可读的。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64a26b3d48841e9894ec9f56