Spec-Zone.ru › JavaScript

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

Spec-Zone.ru

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