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 gestaltet sind, dass sie unveränderlich sind, fungiert diese Methode im Wesentlichen als Setter für die Felder des Monats-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
,era
underaYear
,month
,monthCode
,year
. Nicht angegebene Eigenschaften verwenden die Werte des ursprünglichen Monats-Tags. Sie müssen das Jahr nur dann angeben, wenn Siemonth
angeben und der Kalender nichtiso8601
ist. Sie müssen nur eines vonmonth
odermonthCode
und eines vonera
underaYear
oderyear
angeben, und das andere wird entsprechend aktualisiert. options
Optional-
Ein Objekt mit der folgenden Eigenschaft:
overflow
Optional-
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 auf den gültigen Bereich eingeschränkt.
"reject"
-
Ein
RangeError
wird ausgelöst, wenn die Datumskomponente außerhalb des gültigen 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 die restlichen Felder vom ursprünglichen Datum kopiert 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 angegebenen Eigenschaften, die die gleiche Komponente spezifizieren, sind inkonsistent.
- Die angegebenen nicht-numerischen Eigenschaften sind nicht gültig; zum Beispiel, wenn
monthCode
niemals ein gültiger Monatscode in diesem Kalender ist. - Die angegebenen numerischen Eigenschaften liegen außerhalb des gültigen 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 liegt, der von-271821
bis275760
reicht.
Beispiele
Verwenden 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 sehen Sie sich die Dokumentation zu den einzelnen Eigenschaften an, die mit with()
gesetzt werden können.
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal.plainmonthday.prototype.with |
Browser-Kompatibilität
Report problems with this compatibility data on GitHubdesktop | mobile | server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
with |
Legend
Tip: you can click/tap on a cell for more information.
- No support
- No support
- Experimental. Expect behavior to change in the future.
- See implementation notes.
- User must explicitly enable this feature.