JavaScript: равны ли даты
что получится, если сравнить одинаковые даты
Дата в JavaScript является экземпляром объекта Date. Это момент времени, который можно создать только вызвав конструктор функции Date, то есть только с помощью оператора new. Передавая функции Date в качестве аргумента целое число, мы указываем количество миллисекунд, прошедших с 1 января 1970 года 00:00:00 по UTC (эпохи Unix).
let date1 = new Date(0);
let date2 = new Date(0);
if (date1 == date2) {
console.log('equal');
} else {
console.log('not so much');
}
Итак, в соответствии с кодом, приведенным выше, мы создали две даты. Каков же будет результат их сравнения?
Обе даты будут содержать одинаковое значение:
Thu Jan 01 1970 03:00:00 GMT+0300
Но заданное условие date1 == date2 не будет выполнено, потому что и date1 и date2 являются объектами. А в JavaScript два отдельных объектах всегда будут неравны, даже если содержат одинаковые наборы свойств и их значений.
Только сравнение двух ссылок на один и тот же объект возвращает true.
Так как условие не выполнено, в консоли появится сообщение not so much.
Спасибо за внимание.
