Temporal.PlainDate.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.PlainDate
-Instanzen gibt ein neues Temporal.PlainDate
-Objekt zurück, das dieses Datum 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 Datums.
Um die calendarId
-Eigenschaft zu ersetzen, verwenden Sie stattdessen die withCalendar()
-Methode.
Syntax
with(info)
with(info, options)
Parameter
info
-
Ein Objekt, das mindestens eine der von
Temporal.PlainDate.from()
erkannten Eigenschaften (außercalendar
) enthält:day
,era
underaYear
,month
,monthCode
,year
. Nicht spezifizierte Eigenschaften verwenden die Werte des ursprünglichen Datums. Es ist nur erforderlich, entwedermonth
odermonthCode
und entwederera
underaYear
oderyear
anzugeben; das 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 zulässigen 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 zulässigen Bereichs liegt.
Rückgabewert
Ein neues Temporal.PlainDate
-Objekt, bei dem die in info
angegebenen Felder, die nicht undefined
sind, durch die entsprechenden Werte ersetzt werden, und die übrigen Felder aus dem 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 nicht gültig; beispielsweise wenn
monthCode
nie ein gültiger Monatscode in diesem Kalender ist. - Die bereitgestellten numerischen Eigenschaften liegen außerhalb des zulässigen 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 beträgt.
Beispiele
Verwendung von with()
const date = Temporal.PlainDate.from("2021-07-06");
const newDate = date.with({ day: date.daysInMonth });
console.log(newDate.toString()); // 2021-07-31
const nextDecade = date.with({ year: date.year + 10 });
console.log(nextDecade.toString()); // 2031-07-06
Weitere Beispiele finden Sie in der Dokumentation zu den einzelnen Eigenschaften, die mit with()
gesetzt werden können.
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal.plaindate.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.