Spec-Zone.ru › JavaScript

Temporal.PlainTime.prototype.valueOf()

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

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

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

Синтаксис

valueOf()

Параметры

Нет.

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

Нет.

Исключения

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

Описание

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

Примеры

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

Для всех арифметических операций и операций сравнения с экземплярами Temporal.PlainTime следует использовать специальные методы или явно преобразовывать их в примитивы.

const time1 = Temporal.PlainTime.from("00:00:00");
const time2 = Temporal.PlainTime.from("12:00:00");
time1 > time2; // TypeError: can't convert PlainTime to primitive type
Temporal.PlainTime.compare(time1, time2); // -1

time2 - time1; // TypeError: can't convert PlainTime to primitive type
time2.since(time1).toString(); // "PT12H"

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

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

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

Компьютеры Мобильные устройства Серверы
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на iOS Samsung Internet WebView Android WebView на iOS Bun Deno Node.js
valueOf
144
144
139
128
предварительная версия
144
139
95
Нет
Нет
144
Нет
1.4.0
2.7
26.0.0

См. также

  • Temporal.PlainTime
  • Temporal.PlainTime.prototype.toString()
  • Temporal.PlainTime.prototype.toJSON()
  • Temporal.PlainTime.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/PlainTime/valueOf

Spec-Zone.ru

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