Temporal.PlainMonthDay.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 Instanzen von Temporal.PlainMonthDay gibt ein neues Temporal.PlainMonthDay-Objekt zurück, das diesen Monat-Tag mit einigen Feldern darstellt, die durch neue Werte ersetzt werden. Da alle Temporal-Objekte so konzipiert sind, dass sie unveränderlich sind, fungiert diese Methode im Wesentlichen als Setter für die Felder des Monat-Tags.
Es gibt keinen offensichtlichen Weg, ein neues Temporal.PlainMonthDay-Objekt zu erstellen, das denselben Monat-Tag in einem anderen Kalender darstellt. Um die calendarId-Eigenschaft zu ersetzen, müssen Sie es 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.PlainMonthDay.from()anerkannten Eigenschaften (außercalendar) enthält:day,eraunderaYear,month,monthCode,year. Nicht angegebene Eigenschaften verwenden die Werte des ursprünglichen Monat-Tags. Sie müssen das Jahr nur angeben, wenn Siemonthangeben und der Kalender nichtiso8601ist. Sie müssen nur eines vonmonthodermonthCodeangeben und eines voneraunderaYearoderyear, wobei das andere entsprechend aktualisiert wird. optionsOptional-
Ein Objekt, das die folgende Eigenschaft enthält:
overflowOptional-
Ein String, der das Verhalten angibt, wenn eine Datums-Komponente außerhalb des Bereichs liegt. Mögliche Werte sind:
"constrain"(Standard)-
Die Datums-Komponente wird auf den gültigen Bereich eingeklemmt.
"reject"-
Ein
RangeErrorwird ausgelöst, wenn die Datums-Komponente außerhalb des Bereichs liegt.
Rückgabewert
Ein neues Temporal.PlainMonthDay-Objekt, bei dem die in info angegebenen Felder, die nicht undefined sind, durch die entsprechenden Werte ersetzt werden und der Rest der Felder aus dem ursprünglichen Datum kopiert wird.
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 sind außerhalb des Bereichs und
options.overflowist auf"reject"gesetzt. - Wenn das Jahr angegeben ist, der Kalender nicht
iso8601ist und das Jahr nicht im darstellbaren Bereich ist oder Jahre, die von-271821bis275760reichen.
Beispiele
>Verwendung von with()
const md = Temporal.PlainMonthDay.from("07-01");
const newMd = md.with({ day: 2 });
console.log(newMd.toString()); // "07-02"
Weitere Beispiele finden Sie in der Dokumentation zu den einzelnen Eigenschaften, die mit with() gesetzt werden können.
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal.plainmonthday.prototype.with> |