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 with()
Methode von Temporal.PlainMonthDay
Instanzen gibt ein neues Temporal.PlainMonthDay
-Objekt zurück, das diesen Monat-Tag darstellt, wobei einige Felder 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 daher seine calendarId
Eigenschaft zu ersetzen, müssen Sie es in ein Temporal.PlainDate
Objekt mittels toPlainDate()
konvertieren, den Kalender ändern und es dann zurück konvertieren.
Syntax
with(info)
with(info, options)
Parameter
info
-
Ein Objekt, das mindestens eine der Eigenschaften enthält, die von
Temporal.PlainMonthDay.from()
(außercalendar
) erkannt werden:day
,era
underaYear
,month
,monthCode
,year
. Nicht spezifizierte Eigenschaften verwenden die Werte des ursprünglichen Monat-Tags. Sie müssen das Jahr nur dann angeben, wenn Siemonth
angeben und der Kalender nichtiso8601
ist. Sie müssen entwedermonth
odermonthCode
und entwederera
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 Datums-Komponente außerhalb des Bereichs liegt. Mögliche Werte sind:
"constrain"
(Standard)-
Die Datums-Komponente wird auf den gültigen Bereich eingeschränkt.
"reject"
-
Ein
RangeError
wird 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 wurden, und die restlichen Felder vom ursprünglichen Datum übernommen wurden.
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 nicht gültig; zum Beispiel, wenn
monthCode
nie ein gültiger Monatscode in diesem Kalender ist. - Die bereitgestellten numerischen Eigenschaften liegen außerhalb des Bereichs und
options.overflow
ist auf"reject"
gesetzt. - Wenn das Jahr angegeben ist, der Kalender nicht
iso8601
ist und das Jahr nicht im darstellbaren Bereich von Jahren liegt, der von-271821
bis275760
reicht.
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 zu den einzelnen Eigenschaften, die mit with()
gesetzt werden können.
Spezifikationen
Specification |
---|
Temporal> # sec-temporal.plainmonthday.prototype.with> |
Browser-Kompatibilität
Loading…