Spec-Zone.ru › JavaScript

Temporal.PlainDateTime.prototype.valueOf()

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

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

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

Синтаксис

valueOf()

Параметры

Нет.

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

Нет.

Исключения

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

Описание

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

Примеры

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

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

const dt1 = Temporal.PlainDateTime.from("2022-01-01T00:00:00");
const dt2 = Temporal.PlainDateTime.from("2022-07-01T00:00:00");
dt1 > dt2; // TypeError: can't convert PlainDateTime to primitive type
Temporal.PlainDateTime.compare(dt1, dt2); // -1

dt2 - dt1; // TypeError: can't convert PlainDateTime to primitive type
dt2.since(dt1).toString(); // "P181D"

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

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

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

Настольные Мобильные Серверные
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.PlainDateTime
  • Temporal.PlainDateTime.prototype.toString()
  • Temporal.PlainDateTime.prototype.toJSON()
  • Temporal.PlainDateTime.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/PlainDateTime/valueOf

Spec-Zone.ru

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