You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TypeScript中使用运行时定义的未知全局变量

解决方案

方法1:在当前TS文件顶部添加全局变量声明

不需要单独创建声明文件,直接在你的compiledTypeScriptFile.ts文件最开头添加声明即可:

// 键值对对象场景,支持任意字符串键、任意类型值
declare var globalProperties: Record<string, any>;

如果需要完全关闭该变量的类型校验,或者该变量实际为数组类型,也可以按需求调整声明:

// 完全不做类型校验
declare var globalProperties: any;
// 数组类型场景
declare var globalProperties: any[];

声明完成后你可以在整个文件内直接使用globalProperties变量,TypeScript不会报未定义错误,后续新增任意键值对也不会触发类型报错。
使用示例:

console.log(globalProperties.foo); // 输出 bar
console.log(globalProperties.phpName); // 输出 phpValue
// 新增扩展属性也支持
globalProperties.newConfig = 'newValue';

方法2:通过window对象断言访问

如果你不想添加全局声明,也可以直接从全局window对象上读取变量,配合类型断言跳过校验:

// 对象场景
const globalProps = (window as any).globalProperties as Record<string, any>;
// 数组场景替换为 as any[] 即可

后续直接使用globalProps变量即可,效果和方法1一致,适合只需要在个别地方使用该全局变量的场景。


内容的提问来源于stack exchange,提问作者SuperNova

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 02:36:04