Temporal.PlainMonthDay.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 Methode with()
von Temporal.PlainMonthDay
-Instanzen gibt ein neues Temporal.PlainMonthDay
-Objekt zurück, das diesen Monat-Tag mit einigen durch neue Werte ersetzten Feldern darstellt. Da alle Temporal
-Objekte so gestaltet sind, unveränderlich zu sein, fungiert diese Methode im Wesentlichen als Setter für die Felder des Monat-Tages.
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 konvertieren, den Kalender ändern und es dann zurückkonvertieren.
Syntax
with(info)
with(info, options)
Parameter
info
-
Ein Objekt, das mindestens eine der von
Temporal.PlainMonthDay.from()
erkannten Eigenschaften enthält (außercalendar
):day
,era
underaYear
,month
,monthCode
,year
. Nicht angegebene Eigenschaften verwenden die Werte des ursprünglichen Monat-Tages. Sie müssen das Jahr nur angeben, wenn Siemonth
angeben und der Kalender nichtiso8601
ist. Sie müssen nur eine der Eigenschaftenmonth
odermonthCode
sowieera
underaYear
oderyear
angeben, 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 Datumsangabe außerhalb des zulässigen Bereichs liegt. Mögliche Werte sind:
"constrain"
(Standard)-
Die Datumsangabe wird auf den gültigen Bereich eingeschränkt.
"reject"
-
Ein
RangeError
wird ausgelöst, wenn die Datumsangabe außerhalb des zulässigen 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. Die restlichen Felder werden aus dem Originaldatum kopiert.
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 angegebenen Eigenschaften, die dieselbe Komponente spezifizieren, sind inkonsistent.
- Die angegebenen nicht-numerischen Eigenschaften sind nicht gültig; zum Beispiel, wenn
monthCode
nie ein gültiger Monat-Code in diesem Kalender ist. - Die angegebenen numerischen Eigenschaften sind außerhalb des Bereichs, und
options.overflow
ist auf"reject"
gesetzt.
Beispiele
Verwendung von with()
const md = Temporal.PlainMonthDay.from("07-01");
const newMd = md.with({ day: 2 });
console.log(newMd.toString()); // "07-02"
Für weitere Beispiele siehe die Dokumentation der einzelnen Eigenschaften, die mit with()
gesetzt werden können.
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal.plainmonthday.prototype.with |
Browser-Kompatibilität
BCD tables only load in the browser