Spec-Zone.ru › JavaScript

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.Instant
  • Temporal.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

Spec-Zone.ru

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