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 Instanzen von Temporal.PlainDate 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 Methode withCalendar().
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,eraunderaYear,month,monthCode,year. Nicht spezifizierte Eigenschaften verwenden die Werte des ursprünglichen Datums. Sie müssen nur eine vonmonthodermonthCodesowie eine voneraunderaYearoderyearangeben, und die andere wird entsprechend aktualisiert. optionsOptional-
Ein Objekt, das die folgende Eigenschaft enthält:
overflowOptional-
Ein String, der das Verhalten bestimmt, wenn eine Datumskomponente außerhalb des Bereichs liegt. Mögliche Werte sind:
"constrain"(Standard)-
Die Datumskomponente wird auf den gültigen Bereich eingeschränkt.
"reject"-
Ein
RangeErrorwird ausgelöst, wenn die Datumskomponente außerhalb des Bereichs liegt.
Rückgabewert
Ein neues Temporal.PlainDate-Objekt, bei dem die im info-Objekt angegebenen Felder, die nicht undefined sind, durch die entsprechenden Werte ersetzt werden, und die restlichen Felder des ursprünglichen Datums übernommen werden.
Ausnahmen
TypeError-
Wird in einem der folgenden Fälle ausgelöst:
infoist kein Objekt.optionsist kein Objekt oderundefined.
RangeError-
Wird in einem der folgenden Fälle ausgelöst:
- Die bereitgestellten Eigenschaften, die dieselbe Komponente angeben, sind inkonsistent.
- Die bereitgestellten nicht-numerischen Eigenschaften sind ungültig; zum Beispiel wenn
monthCodeniemals ein gültiger Monatscode in diesem Kalender ist. - Die bereitgestellten numerischen Eigenschaften liegen außerhalb des Bereichs, und
options.overflowist auf"reject"gesetzt. - Das Ergebnis liegt nicht im darstellbaren Bereich, der ±(108 + 1) Tage, oder etwa ±273.972,6 Jahre, ab der Unix-Epoche umfasst.
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
Für weitere Beispiele, siehe die Dokumentation der individuellen Eigenschaften, die mithilfe von with() gesetzt werden können.
Spezifikationen
| Specification |
|---|
| Temporal> # sec-temporal.plaindate.prototype.with> |
Browser-Kompatibilität
Loading…