Как метод valueOf () работает с объектом даты в JavaScript ниже? - PullRequest
1 голос
/ 23 апреля 2020

При заданной дате:

const date = new Date();
console.log(date.valueOf()); // print numeric value : 1587644687189

В любой документации упоминается, что valueOf() является встроенной функцией в JavaScript, которая используется для получения количества миллисекунд между 1 января 1970 г. 00:00:00 UT C и заданная дата.

Как эта функция реализована в объекте Date?

1 Ответ

0 голосов
/ 23 апреля 2020

Экземпляры даты всегда основаны на значении метки времени, которое измеряет миллисекунды с фиксированного момента времени. Функция .valueOf () просто возвращает это число. Функция не должна вычислять количество миллисекунд; оно всегда имеет это как собственное внутреннее свойство.

Вызов различных функций-мутаторов, таких как .setMonth() et c, обновит это значение метки времени. В этом процессе выполняется интересная работа, например, учитывается летнее время и другие сложности математической математики.

Любой объект может иметь .valueOf():

console.log(5 + { valueOf: () => 6 }); // 11

. Он может также размещается на прототипе, как в случае с объектами Date.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...