javascriptで日付比較を行っているとき、ブラウザコンソールで次の操作を実行しました。なぜ日付比較はjavascriptで奇妙な動作を示していますか?
new Date() >= new Date()
は真
new Date() <= new Date()
を返さnew Date() == new Date()
、私は両方が同じであると思ったように私が正しかった場合、これは、良い見
を真
を返却すべき真
を返します。インタレストそれは偽を返しました。その後、私は
同様の操作の下に行わnew Date() > new Date()
は偽
new Date() < new Date()
を返さも、私の前提と大丈夫だった偽
new Date() != new Date()
戻り真
を返しました。
新しいDate() sが同じ時間を返した両方の場合は、==が> =と= <とともに真を返す必要があり、他の賢明な>または<のいずれかをとして返します。!=を返します。です。
次の表は、異なるケースの予想結果と実際の結果で構成されています。
ACTUAL結果列は、その前の列のいずれかを次のされていないのはなぜ?
[?2つのJavaScriptオブジェクトのための平等を決定する方法](http://stackoverflow.com/questions/201183/how-to-determine-equality -for-two-javascript-objects)を使用します。日付はおそらく例外ではありません。 –
これらの演算子をDateオブジェクトに適用すると、整数でキャストしようとします(unixフォーマットの時刻を意味する+新しいDate()と同様です)。 –
'=='比較を実行すると、 "これらの変数は同じオブジェクトを参照していますか?"、これは 'false'です。他のすべての比較は、オブジェクト内のタイムスタンプ上で動作します。 –