Spec-Zone.ru › JavaScript

Temporal.ZonedDateTime.prototype.valueOf()

Базовая Ограниченная доступность

Эта функция не является базовой, потому что она не работает в некоторых из наиболее широко используемых браузеров.

Метод valueOf() экземпляров Temporal.ZonedDateTime вызывает TypeError, что предотвращает неявное преобразование в примитивы экземпляров Temporal.ZonedDateTime при использовании в арифметических операциях или операциях сравнения.

Синтаксис

valueOf()

Параметры

Нет.

Возвращаемое значение

Нет.

Исключения

TypeError
Вызывается всегда.

Описание

Поскольку и преобразование примитивов, и преобразование чисел вызывают valueOf() перед toString(), если valueOf() отсутствует, то выражение, подобное yearMonth1 > yearMonth2, неявно сравнило бы их как строки, что может привести к неожиданным результатам. Вызывая TypeError, экземпляры Temporal.ZonedDateTime предотвращают такие неявные преобразования. Вам необходимо явно преобразовать их в числа, используя Temporal.ZonedDateTime.prototype.epochNanoseconds, или использовать статический метод Temporal.ZonedDateTime.compare() для их сравнения.

Примеры

Арифметические операции и операции сравнения с Temporal.ZonedDateTime

Все арифметические операции и операции сравнения с экземплярами Temporal.ZonedDateTime должны использовать специализированные методы или явно преобразовывать их в примитивы.

const zdt1 = Temporal.ZonedDateTime.from(
  "2022-01-01T00:00:00[America/New_York]",
);
const zdt2 = Temporal.ZonedDateTime.from(
  "2022-07-01T00:00:00[America/New_York]",
);
zdt1 > zdt2; // TypeError: can't convert ZonedDateTime to primitive type
Temporal.ZonedDateTime.compare(zdt1, zdt2); // -1

zdt2 - zdt1; // TypeError: can't convert ZonedDateTime to primitive type
zdt2.since(zdt1).toString(); // "PT4343H"

Спецификации

Спецификация
Temporal
# sec-temporal.zoneddatetime.prototype.valueof

Совместимость с браузерами

Desktop Mobile Server
Chrome Edge Firefox Opera Safari Chrome Android Firefox for Android Opera Android Safari on iOS Samsung Internet WebView Android WebView on iOS Bun Deno Node.js
valueOf
144
144
139
128
preview
144
139
95
No
No
144
No
1.4.0
2.7
26.0.0

Смотрите также

  • Temporal.ZonedDateTime
  • Temporal.ZonedDateTime.prototype.toString()
  • Temporal.ZonedDateTime.prototype.toJSON()
  • Temporal.ZonedDateTime.prototype.toLocaleString()

© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Temporal/ZonedDateTime/valueOf

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API