ES2019 中的 globalThis

在 JavaScript 中,window 对象是全局对象,它包含了浏览器环境下的所有全局变量和函数。但在 Node.js 中,全局对象是 global。这两个对象的存在导致了一些跨平台的问题,例如在浏览器和 Node.js 中使用相同的代码时,需要写两份不同的全局对象。ES2019 引入了一个新的全局对象 globalThis 来解决这个问题。

globalThis 的作用

globalThis 是一个全局对象,它在任何情况下都可以访问,无需使用任何前缀。在浏览器环境下,globalThis 就是 window 对象;在 Node.js 环境下,globalThis 就是 global 对象。因此,通过 globalThis 可以跨平台地访问全局对象,而不需要写两份不同的代码。

globalThis 的用法

使用 globalThis 与使用 windowglobal 非常相似。下面是一些常见用法:

1. 访问全局对象

2. 定义全局变量或函数

3. 在不同的平台上使用相同的代码

globalThis 的指导意义

使用 globalThis 可以让我们更轻松地编写跨平台的代码,同时避免写两份不同的代码。此外,globalThis 还有一个重要的作用,那就是在浏览器环境下,可以避免使用 window 对象,从而避免一些不必要的错误。

总结

ES2019 引入了一个新的全局对象 globalThis,它可以跨平台地访问全局对象,避免写两份不同的代码。使用 globalThis 可以让我们更轻松地编写跨平台的代码,并避免一些不必要的错误。

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


纠错
反馈