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