Temporal.PlainYearMonth.prototype.with()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Die with()-Methode von Temporal.PlainYearMonth Instanzen gibt ein neues Temporal.PlainYearMonth-Objekt zurück, das diesen Jahr-Monat mit einigen durch neue Werte ersetzten Feldern darstellt. Da alle Temporal-Objekte als unveränderlich konzipiert sind, fungiert diese Methode im Wesentlichen als Setter für die Felder des Jahr-Monats.
Es gibt keinen offensichtlichen Weg, ein neues Temporal.PlainYearMonth-Objekt zu erstellen, das denselben Jahr-Monat in einem anderen Kalender darstellt. Um daher die calendarId-Eigenschaft zu ersetzen, müssen Sie es zuerst in ein Temporal.PlainDate-Objekt umwandeln, den Kalender ändern und es dann zurück konvertieren.
Syntax
with(info)
with(info, options)
Parameter
info-
Ein Objekt, das mindestens eine der von
Temporal.PlainYearMonth.from()erkannten Eigenschaften (außercalendar) enthält:eraunderaYear,month,monthCode,year. Nicht angegebene Eigenschaften verwenden die Werte aus dem ursprünglichen Jahr-Monat. Sie müssen nur eine vonmonthodermonthCodeund eine voneraunderaYearoderyearangeben, die andere wird entsprechend aktualisiert. optionsOptional-
Ein Objekt mit der folgenden Eigenschaft:
overflowOptional-
Ein String, der das Verhalten angibt, wenn eine Datumskomponente außerhalb des Bereichs liegt. Mögliche Werte sind:
"constrain"(Standard)-
Die Datumskomponente wird auf den gültigen Bereich eingeschränkt.
"reject"-
Ein
RangeErrorwird ausgelöst, wenn die Datumskomponente außerhalb des Bereichs liegt.
Rückgabewert
Ein neues Temporal.PlainYearMonth-Objekt, bei dem die in info angegebenen Felder, die nicht undefined sind, durch die entsprechenden Werte ersetzt werden und die restlichen Felder vom ursprünglichen Datum kopiert werden.
Ausnahmen
TypeError-
Wird in einem der folgenden Fälle ausgelöst:
infoist kein Objekt.optionsist kein Objekt oderundefined.
RangeError-
Wird in einem der folgenden Fälle ausgelöst:
- Die bereitgestellten Eigenschaften, die dieselbe Komponente angeben, sind inkonsistent.
- Die bereitgestellten nicht-numerischen Eigenschaften sind nicht gültig; zum Beispiel, wenn
monthCodeniemals ein gültiger Monatscode in diesem Kalender ist. - Die bereitgestellten numerischen Eigenschaften liegen außerhalb des Bereichs und
options.overflowist auf"reject"gesetzt. - Das Ergebnis liegt nicht im darstellbaren Bereich, der ±(108 + 1) Tage oder etwa ±273.972,6 Jahre ab dem Unix-Epoch umfasst.
Beispiele
>Verwendung von with()
const ym = Temporal.PlainYearMonth.from("2021-07");
const newYM = ym.with({ year: 2024 });
console.log(newYM.toString()); // "2024-07"
Für weitere Beispiele, siehe die Dokumentation der einzelnen Eigenschaften, die mit with() gesetzt werden können.
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal.plainyearmonth.prototype.with> |