Какой результат покажет console.log

Будет выведено false: созданы два разных объекта Date. Оператор == между двумя объектами сравнивает их идентичность, а не содержащуюся дату.

Короткий ответ

Что ответить на собеседовании

Будет выведено false: созданы два разных объекта Date. Оператор == между двумя объектами сравнивает их идентичность, а не содержащуюся дату.

Подробный разбор

Ответ с пояснениями

Условие

Какой вывод появится в консоли при выполнении следующего кода:

console.log(new Date(2000,1,1) == new Date(2000,1,1)) 

Ответ

Будет выведено false: созданы два разных объекта Date. Оператор == между двумя объектами сравнивает их идентичность, а не содержащуюся дату.

Даже одинаковые аргументы конструктора не делают ссылки равными. Для сравнения моментов времени используйте getTime() или числовое преобразование обоих объектов, например +first === +second.

У конструктора new Date(year, month, day) месяцы нумеруются с нуля: 1 означает февраль, поэтому пример создаёт 1 февраля 2000 года в локальной зоне, не 1 января. Эта особенность не меняет результат сравнения объектов.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее