我正在尝试将我的 javascript 转换为 Typescript,但遇到了另一个问题。这是我的代码:
var util = {};
然后在后面的代码中:
util.extendRegExp = function (regex, pre, post) {
if (pre === null || pre === undefined) {
pre = "";
}
if (post === null || post === undefined) {
post = "";
}
我试图声明一个这样的接口(interface):
interface Iutil = { extendRegExp (any) }
...
...
var util: Iutil = {};
但现在我收到一条错误消息:
Can't convert {} to Iutil. util is missing the property extendRegExp
有什么方法可以执行 var util = {}
最佳答案
您可以在分配空对象时将其断言为您的接口(interface)类型:
var util: Iutil = {} as Iutil;
然后您可以稍后分配该功能。
如果 TypeScript 仍然报错(例如,类型之间没有重叠或类似的东西),那么您可以对 any
进行断言,然后对您的界面进行断言:
var util: Iutil = {} as any as Iutil;
关于javascript - 在 Typescript 中向其添加函数之前,如何将变量声明为空对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27686304/