I'm new to TypeScript and AngularJS, and I'm trying to convert a date from my API that is something like:
"8/22/2015"
...to an ISO Date. The date is properly deserialized into a TypeScript property of type Date
. However, when I try the following command (in typescript, and this.dateDisplay
is of type string)
this.dateDisplay = formats.dateTimeValue.toISOString();
I get the error:
TypeError: formats.dateTimeValue.toISOString is not a function at dataFormatsTests.js:42 at processQueue (angular.js:14567) at angular.js:14583 at Scope.$get.Scope.$eval (angular.js:15846) at Scope.$get.Scope.$digest (angular.js:15657) at Scope.$get.Scope.$apply (angular.js:15951) at done (angular.js:10364) at completeRequest (angular.js:10536) at XMLHttpRequest.requestLoaded (angular.js:10477)
I've also been to this site and it says my browser supports the toISOString
function.
So, my questions is: Why doesn't my browser, or angular, or whatever, recognize the toISOString
function?
Although the dateTimeValue was defined as a Date in TypeScript, it was being instantiated at runtime as a string because it was being pulled from the API. Therefore, the TypeScript would compile just fine, but when the javascript ran it was seeing .toISOString()
being called against a string, not a Date.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With