javascript - 演算子 '<' は型 'Date' と 'number' に適用できません。ts(2365)
私は Angular 8 アプリケーションを使用しており、この関数があります:
checkExpired(echeq: EcheqSubmissionApi) {
const today = Date.now();
const validUntil = echeq.validUntilUtc;
if (validUntil < today) {
echeq.status = EcheqSubmissionStatus.EXPIRED;
return true;
}
return false;
}
そして
validUntilUtc?: Date;
しかし、このエラーが出ます:
Operator '<' cannot be applied to types 'Date' and 'number'.ts(2365)
この行で:
if (validUntil < today) {
これをどうやって直しますか?
回答 #1
Date.now() を使うと number 型が返されるため、型の不一致が発生します。validUntil をその日付のミリ秒表現に変換し、today と比較してみてください。
回答 #2
ヒント1:- このように日付をキャストしてみてください
const validUntil = new Date(echeq.validUntilUtc);
ヒント2:- または validUntilUtc の型を直接 Date に変更することもできます
validUntilUtc : Date;
今、オペレーターは以下の場合に動作するはずです
if (validUntil < today) {
....
}
