Temporal.PlainMonthDay.prototype.valueOf()
Базовый уровень Ограниченная доступность
Эта функция не является Базовым уровнем, поскольку она не работает в некоторых из наиболее широко используемых браузеров.
Метод valueOf() экземпляров Temporal.PlainMonthDay выбрасывает TypeError, что предотвращает неявное преобразование в примитивы экземпляров Temporal.PlainMonthDay при использовании в арифметических операциях или операциях сравнения.
Синтаксис
valueOf()
Параметры
Нет.
Возвращаемое значение
Нет.
Исключения
-
TypeError - Всегда выбрасывается.
Описание
Поскольку и преобразование в примитив, и преобразование в число вызывают valueOf() перед toString(), если valueOf() отсутствует, то выражение, подобное monthDay1 > monthDay2, неявно сравнило бы их как строки, что может привести к неожиданным результатам. Выбрасывая TypeError, экземпляры Temporal.PlainMonthDay предотвращают такие неявные преобразования. Вам необходимо явно преобразовать их в строки с помощью Temporal.PlainMonthDay.prototype.toString().
Примеры
Арифметические операции и операции сравнения для Temporal.PlainMonthDay
Все арифметические операции и операции сравнения для экземпляров Temporal.PlainMonthDay должны использовать специализированные методы или явно преобразовывать их в примитивы.
const md1 = Temporal.PlainMonthDay.from("01-01");
const md2 = Temporal.PlainMonthDay.from("07-01");
md1 > md2; // TypeError: can't convert PlainMonthDay to primitive type
Temporal.PlainDate.compare(
md1.toPlainDate({ year: 2021 }),
md2.toPlainDate({ year: 2021 }),
); // -1
md2 - md1; // TypeError: can't convert PlainMonthDay to primitive type
md2
.toPlainDate({ year: 2021 })
.since(md1.toPlainDate({ year: 2021 }))
.toString(); // "P181D"
Спецификации
Совместимость с браузерами
| Десктопные | Мобильные | Серверные | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 |
предварительная версия |
144 |
139 |
95 |
Нет |
Нет |
144 |
Нет |
1.4.0 |
2.7 |
26.0.0 |
См. также
Temporal.PlainMonthDayTemporal.PlainMonthDay.prototype.toString()Temporal.PlainMonthDay.prototype.toJSON()Temporal.PlainMonthDay.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/PlainMonthDay/valueOf