Bla*_*ast 3 javascript types typescript
我想将此 JavaScript 代码转换为 TypeScript:
if (!window.INITIALIZED) {
init();
window.INITIALIZED = true;
}
runCode();
Run Code Online (Sandbox Code Playgroud)
该window对象在 TypeScript 中键入,编译器将抛出错误,指出INITIALIZEDtype 上不存在该属性'Window & typeof globalThis'。
如何在不禁用 TypeScript 功能或忽略这些行的类型检查的情况下正确修复此问题?
您可以通过将其添加到界面来让 TS 将其识别为有效的窗口属性Window:
declare global {
interface Window {
INITIALIZED: boolean | undefined;
}
}
if (!window.INITIALIZED) {
init();
window.INITIALIZED = true;
}
runCode();
Run Code Online (Sandbox Code Playgroud)
也就是说,在不必要的情况下,分配给全局对象的属性有点代码味道。如果可能的话,请考虑使用普通变量。
| 归档时间: |
|
| 查看次数: |
3963 次 |
| 最近记录: |