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 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 so konzipiert sind, dass sie unveränderlich 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 dessen calendarId
Eigenschaft zu ersetzen, müssen Sie es zuerst in ein Temporal.PlainDate
Objekt umwandeln, mithilfe von toPlainDate()
, den Kalender ändern und es dann zurück umwandeln.
Syntax
with(info)
with(info, options)
Parameter
info
-
Ein Objekt, das mindestens eine der von
Temporal.PlainYearMonth.from()
anerkannten Eigenschaften (außercalendar
) enthält:era
underaYear
,month
,monthCode
,year
. Nicht spezifizierte Eigenschaften verwenden die Werte aus dem ursprünglichen Jahr-Monat. Sie müssen nur eine vonmonth
odermonthCode
bereitstellen, sowie eine vonera
underaYear
oderyear
, und die andere wird entsprechend aktualisiert. options
Optional-
Ein Objekt, das die folgende Eigenschaft enthält:
overflow
Optional-
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 begrenzt.
"reject"
-
Ein
RangeError
wird ausgelöst, wenn die Datumskomponente außerhalb des Bereichs liegt.
Rückgabewert
Ein neues Temporal.PlainYearMonth
Objekt, wobei die im info
angegebenen Felder, die nicht undefined
sind, durch die entsprechenden Werte ersetzt und die restlichen Felder vom ursprünglichen Datum übernommen werden.
Ausnahmen
TypeError
-
Wird in einem der folgenden Fälle ausgelöst:
info
ist kein Objekt.options
ist kein Objekt oderundefined
.
RangeError
-
Wird in einem der folgenden Fälle ausgelöst:
- Die bereitgestellten Eigenschaften, die dieselbe Komponente spezifizieren, sind inkonsistent.
- Die bereitgestellten nicht-numerischen Eigenschaften sind ungültig; zum Beispiel, wenn
monthCode
niemals ein gültiger Monatscode in diesem Kalender ist. - Die bereitgestellten numerischen Eigenschaften sind außerhalb des Bereichs, und
options.overflow
ist 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"
Weitere Beispiele finden Sie in der Dokumentation zu den einzelnen Eigenschaften, die mit with()
gesetzt werden können.
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal.plainyearmonth.prototype.with |