Spec-Zone.ru › JavaScript

Temporal.PlainYearMonth.prototype.valueOf()

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

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

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

Синтаксис

valueOf()

Параметры

Нет.

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

Нет.

Исключения

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

Описание

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

Примеры

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

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

const ym1 = Temporal.PlainYearMonth.from("2021-01");
const ym2 = Temporal.PlainYearMonth.from("2021-07");
ym1 > ym2; // TypeError: can't convert PlainYearMonth to primitive type
Temporal.PlainYearMonth.compare(ym1, ym2); // -1

ym2 - ym1; // TypeError: can't convert PlainYearMonth to primitive type
ym2.since(ym1).toString(); // "P6M"

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

Спецификация
Temporal
# sec-temporal.plainyearmonth.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.PlainYearMonth
  • Temporal.PlainYearMonth.prototype.toString()
  • Temporal.PlainYearMonth.prototype.toJSON()
  • Temporal.PlainYearMonth.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/PlainYearMonth/valueOf

Spec-Zone.ru

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