Temporal.ZonedDateTime : méthode valueOf()
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 valueOf() des instances de Temporal.ZonedDateTime lève une TypeError, ce qui empêche les instances de Temporal.ZonedDateTime d'être converties implicitement en primitives lorsqu'elles sont utilisées dans des opérations arithmétiques ou de comparaison.
Syntaxe
valueOf()
Paramètres
Aucun.
Valeur de retour
Aucune.
Exceptions
TypeError-
Toujours levée.
Description
Parce que la conversion en primitive et la conversion en nombre appellent valueOf() avant toString(), si valueOf() est absent, alors une expression comme yearMonth1 > yearMonth2 les comparerait implicitement comme des chaînes de caractères, ce qui peut donner des résultats inattendus. En levant une TypeError, les instances de Temporal.ZonedDateTime empêchent ces conversions implicites. Vous devez les convertir explicitement en nombres en utilisant Temporal/ZonedDateTime.prototype.epochNanoseconds, ou utiliser la méthode statique Temporal.ZonedDateTime.compare() pour les comparer.
Exemples
>Opérations arithmétiques et de comparaison sur Temporal.ZonedDateTime
Toutes les opérations arithmétiques et de comparaison sur les instances de Temporal.ZonedDateTime doivent utiliser les méthodes dédiées ou les convertir explicitement en primitives.
const zdt1 = Temporal.ZonedDateTime.from(
"2022-01-01T00:00:00[America/New_York]",
);
const zdt2 = Temporal.ZonedDateTime.from(
"2022-07-01T00:00:00[America/New_York]",
);
zdt1 > zdt2; // TypeError: can't convert ZonedDateTime to primitive type
Temporal.ZonedDateTime.compare(zdt1, zdt2); // -1
zdt2 - zdt1; // TypeError: can't convert ZonedDateTime to primitive type
zdt2.since(zdt1).toString(); // "PT4343H"
Spécifications
| Spécification |
|---|
| Temporal> # sec-temporal.zoneddatetime.prototype.valueof> |
Compatibilité des navigateurs
Voir aussi
- L'objet
Temporal.ZonedDateTime - La méthode
Temporal.ZonedDateTime.prototype.toString() - La méthode
Temporal.ZonedDateTime.prototype.toJSON() - La méthode
Temporal.ZonedDateTime.prototype.toLocaleString()