Экземпляры даты всегда основаны на значении метки времени, которое измеряет миллисекунды с фиксированного момента времени. Функция .valueOf () просто возвращает это число. Функция не должна вычислять количество миллисекунд; оно всегда имеет это как собственное внутреннее свойство.
Вызов различных функций-мутаторов, таких как .setMonth()
et c, обновит это значение метки времени. В этом процессе выполняется интересная работа, например, учитывается летнее время и другие сложности математической математики.
Любой объект может иметь .valueOf()
:
console.log(5 + { valueOf: () => 6 }); // 11
. Он может также размещается на прототипе, как в случае с объектами Date.