dr.Brain

doctor Brain

мир глазами веб-разработчика

JavaScript: равны ли даты

что получится, если сравнить одинаковые даты

dr.Brain

время чтения 1 мин.

Photo by Eric Prouzet on Unsplash

Дата в 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.


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.