为了编写更加健壮的代码,我正在考虑在我的基于Web的项目中使用TypeScript。虽然我在这门语言方面的经验相对较少,但我已经遇到了一个难以搜索的问题。
请看下面的TypeScript代码:
请看下面的TypeScript代码:
public static getResponseCode(resObj: object): number {
let c: number = resObj["c"]
return c;
}
有没有办法让TypeScript编译器提醒我,resObj ["c"]
可能不是一个数字,并且需要先检查它是否是数字?例如,我可以强制TypeScript将代码重写为这样(或类似的代码)吗?
public static getResponseCode(resObj: object): number {
if (typeof resObj["c"] !== "number") { return APIResponseCode.UnknownFailure; }
let c: number = resObj["c"]
return c;
}
我认为我之所以得到这样的结果,是因为resObj["c"]
的类型是any
。在这里我该怎么做?TypeScript中是否有常用模式可用?
resObj.c
替代resObj["c"]
来获取属性c
的类型检查。 - user663031object
没有属性c
。@torazaburo - Shaun Luttin