Date.prototype[Symbol.toPrimitive]()
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Die [Symbol.toPrimitive]()
Methode von Date
Instanzen gibt einen primitiven Wert zurück, der dieses Datum darstellt. Es kann entweder ein String oder eine Zahl sein, abhängig von dem angegebenen Hinweis.
Probieren Sie es aus
Syntax
date[Symbol.toPrimitive](hint)
Parameter
hint
-
Ein String, der den Typ des zurückzugebenden primitiven Werts darstellt. Die folgenden Werte sind gültig:
"string"
oder"default"
: Die Methode sollte einen String zurückgeben."number"
: Die Methode sollte eine Zahl zurückgeben.
Rückgabewert
Wenn hint
"string"
oder "default"
ist, gibt diese Methode einen String zurück, indem sie den this
-Wert in einen String umwandelt (zuerst toString()
und dann valueOf()
versucht).
Wenn hint
"number"
ist, gibt diese Methode eine Zahl zurück, indem sie den this
-Wert in eine Zahl umwandelt (zuerst valueOf()
und dann toString()
versucht).
Ausnahmen
TypeError
-
Wird ausgelöst, wenn das
hint
-Argument nicht einer der drei gültigen Werte ist.
Beschreibung
Die [Symbol.toPrimitive]()
Methode ist Teil des Typumwandlungsprotokolls. JavaScript ruft immer die [Symbol.toPrimitive]()
Methode als Priorität auf, um ein Objekt in einen primitiven Wert zu konvertieren. Sie müssen die [Symbol.toPrimitive]()
Methode selten selbst aufrufen; JavaScript ruft sie automatisch auf, wenn es auf ein Objekt trifft, bei dem ein primitiver Wert erwartet wird.
Die [Symbol.toPrimitive]()
Methode des Date
Objekts gibt einen primitiven Wert zurück, indem entweder this.valueOf()
aufgerufen wird und eine Zahl zurückgegeben wird, oder this.toString()
aufgerufen wird und ein String zurückgegeben wird. Sie existiert, um den Standardprozess der primitiven Umwandlung zu überschreiben, um einen String anstelle einer Zahl zurückzugeben, da die primitive Umwandlung standardmäßig valueOf()
vor toString()
aufruft. Mit dem benutzerdefinierten [Symbol.toPrimitive]()
, gibt new Date(0) + 1
"Thu Jan 01 1970 00:00:00 GMT+0000 (Coordinated Universal Time)1"
(einen String) anstelle von 1
(einer Zahl) zurück.
Beispiele
Verwendung von [Symbol.toPrimitive]()
const d = new Date(0); // 1970-01-01T00:00:00.000Z
d[Symbol.toPrimitive]("string"); // "Thu Jan 01 1970 00:00:00 GMT+0000 (Coordinated Universal Time)"
d[Symbol.toPrimitive]("number"); // 0
d[Symbol.toPrimitive]("default"); // "Thu Jan 01 1970 00:00:00 GMT+0000 (Coordinated Universal Time)"
Spezifikationen
Specification |
---|
ECMAScript Language Specification # sec-date.prototype-%symbol.toprimitive% |
Browser-Kompatibilität
BCD tables only load in the browser