Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Temporal.PlainDate : méthode with()

Disponibilité limitée

Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.

La méthode with() des instances de Temporal.PlainDate retourne un nouvel objet Temporal.PlainDate représentant cette date avec certains champs remplacés par de nouvelles valeurs. Comme tous les objets Temporal sont conçus pour être immuables, cette méthode fonctionne essentiellement comme le setter des champs de la date.

Pour remplacer la propriété calendarId, utilisez plutôt la méthode withCalendar().

Syntaxe

js
with(info)
with(info, options)

Paramètres

info

Un objet contenant au moins une des propriétés reconnues par Temporal.PlainDate.from() (sauf calendar) : day, era et eraYear, month, monthCode, year. Les propriétés non définies utilisent les valeurs de la date d'origine. Vous n'avez besoin de fournir qu'un seul de month ou monthCode, et un seul de era et eraYear ou year, et l'autre sera mis à jour en conséquence.

options Facultatif

Un objet contenant la propriété suivante :

overflow Facultatif

Une chaîne de caractères définissant le comportement lorsque un composant de date est hors de portée. Les valeurs possibles sont :

"constrain" (par défaut)

Le composant de date est contraint à la plage valide.

"reject"

Un objet RangeError est levé si le composant de date est hors de portée.

Valeur de retour

Un nouvel objet Temporal.PlainDate, où les champs définis dans info qui ne sont pas undefined sont remplacés par les valeurs correspondantes, et le reste des champs est copié à partir de la date d'origine.

Exceptions

TypeError

Levée dans l'un des cas suivants :

  • info n'est pas un objet.
  • options n'est pas un objet ou est undefined.
RangeError

Levée dans l'un des cas suivants :

  • Les propriétés fournies qui définissent le même composant sont incohérentes.
  • Les propriétés non numériques fournies ne sont pas valides ; par exemple, si monthCode n'est jamais un code de mois valide dans ce calendrier.
  • Les propriétés numériques fournies sont hors de portée, et options.overflow est défini sur "reject".
  • Le résultat n'est pas dans la plage représentable, qui est ±(108 + 1) jours, soit environ ±273 972,6 ans, à partir de l'époque Unix.

Exemples

Utiliser la méthode with()

js
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

Pour plus d'exemples, consultez la documentation des propriétés individuelles qui peuvent être définies en utilisant with().

Spécifications

Spécification
Temporal
# sec-temporal.plaindate.prototype.with

Compatibilité des navigateurs

Voir aussi