Temporal.Duration.prototype.valueOf()
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 valueOf()-Methode von Temporal.Duration-Instanzen wirft einen TypeError, um zu verhindern, dass Temporal.Duration-Instanzen implizit in primitive Werte umgewandelt werden, wenn sie in arithmetischen oder Vergleichsoperationen verwendet werden.
Syntax
Parameter
Keine.
Rückgabewert
Keiner.
Ausnahmen
TypeError-
Wird immer geworfen.
Beschreibung
Da sowohl primitive Umwandlung als auch Zahlenumwandlung valueOf() vor toString() aufrufen, würde, falls valueOf() fehlt, ein Ausdruck wie duration1 > duration2 sie implizit als Strings vergleichen, was unerwartete Ergebnisse wie "PT3S" > "PT1M" haben könnte. Durch das Werfen eines TypeError verhindern Temporal.Duration-Instanzen solche impliziten Umwandlungen. Sie müssen sie explizit in Zahlen umwandeln, indem Sie Temporal.Duration.prototype.total() verwenden, oder die Temporal.Duration.compare()-statische Methode verwenden, um sie zu vergleichen.
Beispiele
Arithmetische und Vergleichsoperationen auf Temporal.Duration
Alle arithmetischen und Vergleichsoperationen auf Temporal.Duration-Instanzen sollten die dafür vorgesehenen Methoden verwenden oder sie explizit in primitive Werte umwandeln.
Spezifikationen
| Specification |
|---|
| Temporal # sec-temporal.duration.prototype.valueof |