TypeScript - Date型の比較方法

Date型 は "==演算子" や "===演算子" では判定できません。

NG例

下記のコードは '不一致' になります。 Date型の "==演算子" は同じインスタンスかを比較するためです。
// 2022/12/31 でインスタンス生成
const date1 = new Date(2022, 12, 31);
const date2 = new Date(2022, 12, 31);

console.log('==演算子で比較');
if (date1 === date2) {
    console.log('一致');
} else {
    console.log('不一致');
}
プログラムの実行結果
プログラムの実行結果

正しい方法

getTime() メソッドで UNIX時刻 を取得して比較します。 getTime は 協定世界時(UTC)での1970年1月1日午前0時0分0秒 からの経過ミリ秒を返します。
// 2022/12/31 でインスタンス生成
const date1 = new Date(2022, 12, 31);
const date2 = new Date(2022, 12, 31);

console.log('getTime と ==演算子で比較');
if (date1.getTime() === date2.getTime()) {
    console.log('一致');
} else {
    console.log('不一致');
}
プログラムの実行結果
プログラムの実行結果

検証環境