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.PlainTimeTemporal.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