我有一段看起来像这样的代码:
let emptyArray: string[]
if (context == null)
return emptyArray
没有办法做到这一点:
if (context == null)
return new string[]
答案 0 :(得分:4)
您还可以键入断言返回的内容,以便编译器知道您返回string[]
而不仅仅是数组。如果您不想在其他地方定义它。
if (context == null)
return [] as string[];
当然,对于任何类型的数组,空数组始终是有效值。
答案 1 :(得分:3)
它并不完全清楚你想要什么,因为没有上下文,例如谁返回空数组以及谁得到这个结果,但它很容易做到:
function fn(context: any): string[] {
if (context == null) {
return [];
}
...
}
答案 2 :(得分:2)
也许我不理解你的问题,但在我的编辑中这对我来说似乎是有效的打字稿:
getValue(context): Array<String> {
if(context==null) {
return [];
}
}