📅  最后修改于: 2023-12-03 15:35:24.148000             🧑  作者: Mango
TypeScript 是一个开源的编程语言,它是 JavaScript 的超集,它提供了静态类型检查、类和接口等面向对象的特性,并支持 ECMAScript 最新版本。
在 TypeScript 3.4 版本中,新增了一个名为 globalThis
的全局变量,它指向全局对象。在浏览器中,它是 window
对象;在 Node.js 环境下,它是 global
对象。
globalThis
?在以前,我们需要在代码中使用不同的全局对象,比如在浏览器中使用 window
对象,在 Node.js 环境下使用 global
对象。这样不方便移植和维护,也容易引起代码错误。
为了解决这个问题,JavaScript 最新的 ES2020 规范引入了全新的全局对象 globalThis
,它可以在任何环境下通过统一的方式访问全局对象。
在 TypeScript 中,我们可以使用 globalThis
来访问全局对象,在运行时它会自动指向当前环境中的全局对象。
globalThis
?在 TypeScript 中,我们可以使用 globalThis
来访问全局对象的属性和方法,比如:
// 访问全局对象的属性
const userAgent = globalThis.navigator.userAgent;
// 访问全局对象的方法
globalThis.console.log("Hello, world!");
如果我们希望在 TypeScript 中使用 globalThis
,我们需要在 tsconfig.json 中将选项 lib
设置为 ["es2020"]
,这样 TypeScript 才能识别 globalThis
。
{
"compilerOptions": {
"lib": ["es2020"]
}
}
在 TypeScript 中,全局变量 globalThis
可以访问全局对象,在不同的环境中具备统一的访问方式,可以提高代码的移植性和可维护性。我们需要将 tsconfig.json 中的选项 lib
设置为 ["es2020"]
,才能使用 globalThis
。