Temporal.Instant.prototype.valueOf()
Baseline Ограниченная доступность
Эта функция не является Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Метод valueOf() экземпляров Temporal.Instant выбрасывает TypeError, что предотвращает неявное преобразование экземпляров Temporal.Instant в примитивы при использовании в арифметических операциях или операциях сравнения.
Синтаксис
valueOf()
Параметры
Нет.
Возвращаемое значение
Нет.
Исключения
-
TypeError - Всегда выбрасывается.
Описание
Поскольку как преобразование в примитив, так и преобразование в число вызывают valueOf() перед toString(), если valueOf() отсутствует, то выражение, такое как instant1 > instant2, будет неявно сравнивать их как строки, что может привести к неожиданным результатам. Выбрасывая TypeError, экземпляры Temporal.Instant предотвращают такие неявные преобразования. Вам необходимо явно преобразовать их в числа, используя Temporal.Instant.prototype.epochNanoseconds, или использовать статический метод Temporal.Instant.compare() для их сравнения.
Примеры
Арифметические операции и операции сравнения для Temporal.Instant
Все арифметические операции и операции сравнения для экземпляров Temporal.Instant должны использовать специализированные методы или явно преобразовывать их в примитивы.
const instant1 = Temporal.Instant.fromEpochMilliseconds(0); const instant2 = Temporal.Instant.fromEpochMilliseconds(1000); instant1 > instant2; // TypeError: can't convert Instant to primitive type instant1.epochNanoseconds > instant2.epochNanoseconds; // false Temporal.Instant.compare(instant1, instant2); // -1 instant2 - instant1; // TypeError: can't convert Instant to primitive type instant2.since(instant1).toString(); // "PT1S"
Спецификации
| Спецификация |
|---|
| Temporal # sec-temporal.instant.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 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
Temporal.InstantTemporal.Instant.prototype.toString()Temporal.Instant.prototype.toJSON()Temporal.Instant.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/Instant/valueOf