在 JavaScript 中我可以做到:
window.eval(userInput)
在客户端.js
文件没有任何问题。
但在 TypeScript 中,window.eval()
不存在。我收到错误:
property eval does not exist on type window
我怎样才能解决这个问题?
我想使用 eval()
的原因是执行一些用户创建的代码。 eval
调用必须在全局范围内完成,因为用户代码依赖于我之前已经用 <script>
加载的一些其他代码标签。
最佳答案
有几种方法可以做到这一点。
使用类型断言(类型不安全,但又快又简单):
(window as any).eval("1 + 1");
或者您可以按照this issue 中的描述修改窗口声明(类型安全)
关于javascript - TypeScript 没有 window.eval(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51391086/