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
.
Спасибо за внимание.