Будет выведено false: созданы два разных объекта Date. Оператор == между двумя объектами сравнивает их идентичность, а не содержащуюся дату.
Какой результат покажет console.log
Будет выведено 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 января. Эта особенность не меняет результат сравнения объектов.