Roy*_*tus 18 typescript typescript1.4
我在ASP.NET MVC 5项目中使用TypeScript 1.4.
我有一个Date类型的字段,它部分工作:
var dob: Date = result.dateOfBirth;
alert(dob);
var dobAsString = dob.toDateString();
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,前两行有效,按预期显示值为"1968-11-16T00:00:00".但最后一行不起作用,实际上该行下面的其余代码甚至没有执行 - 它只是中断,没有错误消息.
无论我在最后一行应用哪个Date函数,此行为都会持续存在; 我也可以使用dob.getFullYear()等等,每次都会失败.然而,变量属于正确的类型且具有正确的价值.编译器还可以找到Date函数,它可以毫无障碍地编译,但在运行时它会失败.有任何想法吗?
Fen*_*ton 20
这个有两个方面.首先,您需要解析日期,因为您当前有一个字符串表示.第二个是你的result变量没有类型信息.
var result = {
dateOfBirth: '1968-11-16T00:00:00'
};
// Error, cannot convert string to date
var a: Date = result.dateOfBirth;
// Okay
var b: Date = new Date(result.dateOfBirth);
var result2: any = result;
// Okay (not type information for result2)
var c: Date = result2.dateOfBirth;
Run Code Online (Sandbox Code Playgroud)
当您收到JSON消息时,您可以应用一个描述服务器发送内容的接口,以便捕获TypeScript代码中的问题 - 例如您找到的问题.这将在将来再次停止发生问题(虽然不检查提供的JSON是否与接口匹配)...以下示例假设result当前具有该any类型.
interface NameYourResult {
dateOfBirth: string;
}
var r: NameYourResult = result;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
66933 次 |
| 最近记录: |