Temporal.PlainYearMonth.prototype.with()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
Die with() Methode von Instanzen von Temporal.PlainYearMonth gibt ein neues Temporal.PlainYearMonth Objekt zurück, das diesen Jahr-Monat darstellt, wobei einige Felder durch neue Werte ersetzt wurden. 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 also seine 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 des ursprünglichen Jahr-Monats. Sie müssen nur eines vonmonthodermonthCodeund eines voneraunderaYearoderyearangeben, und das andere wird entsprechend aktualisiert. optionsOptional-
Ein Objekt mit der folgenden Eigenschaft:
overflowOptional-
Ein String, der das Verhalten angibt, wenn eine Datumskomponente außerhalb des gültigen Bereichs liegt. Mögliche Werte sind:
"constrain"(Standard)-
Die Datumskomponente wird eingeschränkt auf den gültigen Bereich.
"reject"-
Ein
RangeErrorwird ausgelöst, wenn die Datumskomponente außerhalb des gültigen 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 angegebenen Eigenschaften, die dieselbe Komponente spezifizieren, sind inkonsistent.
- Die angegebenen nicht-numerischen Eigenschaften sind nicht gültig; zum Beispiel, wenn
monthCodeniemals ein gültiger Monatscode in diesem Kalender ist. - Die angegebenen 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 der Unix-Epoche 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 zu den einzelnen Eigenschaften, die mit with() festgelegt werden können.
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal.plainyearmonth.prototype.with> |
Browser-Kompatibilität
Loading…