I'm using TypeScript 1.4 in an ASP.NET MVC 5 project.
I have a field of type Date, and it works partially:
var dob: Date = result.dateOfBirth;
alert(dob);
var dobAsString = dob.toDateString();
In the code above, the first two lines work, showing the value as "1968-11-16T00:00:00", as expected. But the last line doesn't work, in fact the rest of the code below that line isn't even executed -- it just breaks, without error message.
This behavior persists no matter which Date function I apply in the last line; I could also use dob.getFullYear()
etc. and it would fail every time. Yet the variable is of the right type and has the right value. The compiler also finds the Date functions, it compiles without a hitch but at runtime it fails. Any ideas?
There are two aspects to this one. The first is that you need to parse the date, as you have a string representation currently. The second is that your
result
variable doesn't have type information.When you get back a JSON message, you can apply an interface to it that describes what the server has send, in order to catch problems in your TypeScript code - such as the one you found. This will stop the problem occurring again in the future (although doesn't check the supplied JSON matches the interface)... the example below assumes
result
currently has theany
type.