/ / TypeError:formats.dateTimeString.toISOStringは関数ではありません - javascript、angularjs、date、typescript

TypeError:formats.dateTimeString.toISOStringは関数ではありません - javascript、angularjs、date、typescript

私はTypeScriptとAngularJSを初めて使用しています。私はAPIの日付を次のように変換しようとしています:

"8/22/2015"

... ISOの日付に。日付は、型のTypeScriptプロパティに正しく非直列化されます。 Date。しかし、次のコマンドを試してみると(typescriptで this.dateDisplay 文字列型です)

this.dateDisplay = formats.dateTimeValue.toISOString();

私はエラーが表示されます:

TypeError:formats.dateTimeValuetoISOStringは関数ではありません dataFormatsTests.jsで:42 at processQueue(angular.js:14567) angular.js:14583で スコープ。$ get.Scope。$ eval(angular.js:15846) スコープ。$ get.Scope。$ digest(angular.js:15657) スコープ。$ get.Scope。$ apply(angular.js:15951) at done(angular.js:10364) at completeRequest(angular.js:10536) at XMLHttpRequest.requestLoaded(angular.js:10477)

私はまた このサイト 私のブラウザは toISOString 関数。

だから、私の質問は次のようなものです。 toISOString 関数?

回答:

回答№1は4

dateTimeValueはDateとして定義されていましたがTypeScriptでは、実行時に文字列としてインスタンス化されていたため、APIから引き出されていました。したがって、TypeScriptはうまくコンパイルされますが、javascriptが実行されたときにはそれを見ていました .toISOString() 日付ではなく文字列に対して呼び出されます。