【发布时间】:2020-05-02 14:40:42
【问题描述】:
它们是针对应用程序类型的 TS 2488 for 循环中的以下代码错误 - 当时的类型是 never?
如果我删除 if 中的第三个比较,Array.isArray(apps),那么 for 循环 (ILuisApp[]) 中的类型是正确的,而不是类型 never。
export interface ILuisFull {
id: string;
name: string;
description: string;
culture: string;
versionsCount: number;
app_createdDateTime: string;
endpointHitsCount: number;
activeVersion: string;
tokenizerVersion: string;
}
export interface ILuisApp {
id: string;
name: string;
description: string;
culture: string;
usageScenario: string;
domain: string;
versionsCount: number;
createdDateTime: string;
endpointHitsCount: number;
activeVersion: string;
ownerEmail?: string;
tokenizerVersion: string;
}
export const transform = (apps: ILuisApp[]): ILuisFull[] => {
if (!apps || apps.length === 0 || Array.isArray(apps)) return [] as ILuisFull[];
let fullTable: Array<ILuisFull> = [];
// apps is type never unless remove 3rd comparison in if above
for (var val of apps) {
console.log(val);
}
return fullTable;
}
ts 配置包括:
"target": "es5",
"module": "commonjs",
"lib": [
"es2016",
"es2017.object",
"esnext.asynciterable"
],
【问题讨论】:
标签: arrays typescript compiler-errors iterable