Temporal.PlainMonthDay.prototype.with()
Baseline Ограниченная доступность
Эта функция не является Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Метод with() экземпляров Temporal.PlainMonthDay возвращает новый объект Temporal.PlainMonthDay, представляющий этот месяц-день с некоторыми полями, замененными новыми значениями. Поскольку все объекты Temporal разработаны как неизменяемые, этот метод фактически действует как сеттер для полей месяца-дня.
Нет очевидного способа создать новый объект Temporal.PlainMonthDay, представляющий тот же месяц-день в другом календаре, поэтому для замены его свойства calendarId вам нужно преобразовать его в объект Temporal.PlainDate с помощью toPlainDate(), изменить календарь, а затем преобразовать его обратно.
Синтаксис
with(info) with(info, options)
Параметры
-
info - Объект, содержащий как минимум одно из свойств, распознаваемых
Temporal.PlainMonthDay.from()(кромеcalendar):day,eraиeraYear,month,monthCode,year. Неуказанные свойства используют значения из исходного месяца-дня. Вам нужно указать год только в том случае, если вы указываетеmonth, а календарь не являетсяiso8601. Вам нужно указать только одно изmonthилиmonthCode, и одно изeraиeraYearилиyear, а другое будет обновлено соответственно. -
optionsНеобязательно - Объект, содержащий следующее свойство:
-
overflowНеобязательно - Строка, указывающая поведение, когда компонент даты выходит за пределы диапазона. Возможные значения:
-
"constrain"(по умолчанию) - Компонент даты привязывается к допустимому диапазону.
-
"reject" - Будет выброшена ошибка
RangeError, если компонент даты выходит за пределы допустимого диапазона.
-
-
Возвращаемое значение
Новый объект Temporal.PlainMonthDay, в котором поля, указанные в info, не являющиеся undefined, заменены соответствующими значениями, а остальные поля скопированы из исходной даты.
Исключения
-
TypeError - Выбрасывается в одном из следующих случаев:
-
infoне является объектом. -
optionsне является объектом илиundefined.
-
-
RangeError - Выбрасывается в одном из следующих случаев:
- Предоставленные свойства, указывающие один и тот же компонент, не согласованы.
- Предоставленные нечисловые свойства недействительны; например, если
monthCodeникогда не является допустимым кодом месяца в этом календаре. - Предоставленные числовые свойства выходят за пределы допустимого диапазона, а
options.overflowустановлен в"reject". - Если год указан, календарь не является
iso8601, и год находится вне допустимого диапазона или диапазонов лет, которые составляют от-271821до275760.
Примеры
Использование with()
const md = Temporal.PlainMonthDay.from("07-01");
const newMd = md.with({ day: 2 });
console.log(newMd.toString()); // "07-02"
Для получения дополнительных примеров обратитесь к документации по отдельным свойствам, которые можно установить с помощью with().
Спецификации
| Спецификация |
|---|
| Temporal # sec-temporal.plainmonthday.prototype.with |
Совместимость с браузерами
| Desktop | Mobile | Server | |||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 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 | |
with |
144 |
144 |
139 |
128 |
preview |
144 |
139 |
95 |
No |
No |
144 |
No |
1.4.0 |
2.7 |
26.0.0 |
См. также
© 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/with