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 Feldern repräsentiert, die durch neue Werte ersetzt wurden. Da alle Temporal
-Objekte darauf ausgelegt sind, unveränderlich zu sein, funktioniert 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 enthält (außercalendar
):day
,era
underaYear
,month
,monthCode
,year
. Nicht angegebene Eigenschaften verwenden die Werte des ursprünglichen Datums. Es muss nur eine vonmonth
odermonthCode
angegeben werden und eine vonera
underaYear
oderyear
, und die andere wird entsprechend aktualisiert. options
Optional-
Ein Objekt mit der folgenden Eigenschaft:
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 begrenzt.
"reject"
-
Ein
RangeError
wird ausgelöst, wenn die Datums-Komponente außerhalb des Bereichs liegt.
Rückgabewert
Ein neues Temporal.PlainDate
-Objekt, bei dem die in info
spezifizierten Felder, die nicht undefined
sind, durch die entsprechenden Werte ersetzt werden und der Rest der Felder vom ursprünglichen Datum übernommen wird.
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 angeben, sind inkonsistent.
- Die angegebenen nicht numerischen Eigenschaften sind nicht gültig; zum Beispiel, wenn
monthCode
in diesem Kalender nie ein gültiger Monatscode ist. - Die angegebenen numerischen Eigenschaften sind außerhalb des Bereichs, und
options.overflow
ist auf"reject"
gesetzt.
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()
festgelegt werden können.
Spezifikationen
Specification |
---|
Temporal proposal # sec-temporal.plaindate.prototype.with |
Browser-Kompatibilität
BCD tables only load in the browser