如果重要的话我会使用Typescript~2.4。
我有一个变为{} | {}[] | string[]
的变量。我检查它是否是一个数组,并想迭代它。我认为forEach
是最好的:
(<{}[] | string[]>data).forEach((val) => {
this.options.push(setupValue(val));
});
但它说Cannot invoke an expression whose type lacks a call signature.
我无法看到我哪里出错了。我无法判断这是否与我使用Typescript或我自己的逻辑有关?
答案 0 :(得分:1)
答案 1 :(得分:1)
您有一组空对象({}
)或字符串。如果您接受处理两者的数组,则TypeScript编译器允许您编写:
(<({} | string)[]>data).forEach(val => {
//...
});