Objekt.prototype.valueOf()Der valueOf eines Objekts ist so konzipiert, dass er den primitiven Wert des Objekts zurückgibt und bei Bedarf automatisch die Konvertierung des Objekts in seinen primitiven Wert durchführt. Klicken Sie hier für Details. Objekt.prototype.toString()Die Methode toString() gibt eine Zeichenfolgendarstellung des Objekts zurück und wird automatisch ausgeführt, wenn ein Objekt in eine Zeichenfolge konvertiert werden soll. Die Standardmethode toString() eines Objekts gibt [Objekttyp] zurück, wobei Typ der Name des Konstruktors des Objekts ist. Klicken Sie hier für Details. Symbol.toPrimitive
lass obj = { [Symbol.toPrimitive](Hinweis) { Schalter (Hinweis) { Fall 'Nummer': Rückgabe 123; Fall 'Zeichenfolge': gib 'str' zurück; Fall 'Standard': gib „Standard“ zurück; Standard: neuen Fehler werfen(); } } }; 2 * Objekt // 246 3 + Objekt // '3Standard' obj == 'Standard' // wahr Zeichenfolge (Objekt) // 'str' ObjektkonvertierungsprimitivwertDie oben genannten drei Methoden werden ausgelöst, wenn erwartet wird, dass das Objekt in einen primitiven Wert konvertiert wird. 1. Wird voraussichtlich in den String-Typ konvertiert
Wo die Ausgabe erfolgt, z. B. alert() Zeichenfolge (Objekt) sei a = { zuString () { Rückgabewert '2' } } console.log(Zeichenfolge(a)) // 2 Zeichenfolgenverkettungsvorgang (+) sei a = { zuString () { Rückgabewert '2' } } konsole.log(a + 'vv') Vorlagenzeichenfolgen sei a = { [Symbol.toPrimitive] (Hinweis) { console.log(Hinweis) // Zeichenfolge Rückgabe 2 } } console.log(`Bist du alt ${a}?`) // Bist du alt 2? 2. Wird voraussichtlich in einen numerischen Typ konvertiert
Division: sei a = { Wert von () { Rückgabe 2 } } konsole.log(2 / a, a / 2) // 1 1 Nummer (Objekt): sei a = { [Symbol.toPrimitive] (Hinweis) { console.log(Hinweis) // Nummer Rückgabe 2 } } console.log(Zahl(a)) // 2 Positive und negative Vorzeichen (beachten Sie, dass es sich nicht um eine Additions- oder Subtraktionsoperation handelt): sei a = { [Symbol.toPrimitive] (Hinweis) { console.log(Hinweis) // Nummer Rückgabe 2 } } console.log(+a) // 2 console.log(-a) // -2 3. Voraussichtliche Konvertierung in den Standardtyp (anderes)
Numerische Addition (d. h. das hinzugefügte Objekt ist ein numerischer Typ): sei a = { [Symbol.toPrimitive] (Hinweis) { console.log(Hinweis) // Standard Rückgabe 2 } } konsole.log(1 + a) // 3
Boolesche Operationen : Alle Objekte werden in „true“ umgewandelt; sei a = { [Symbol.toPrimitive] (Hinweis) { console.log(Hinweis) // Kein Trigger gibt false zurück. } } console.log(Boolean(a), a && 123) // wahr 123
Die Reihenfolge, in der die drei Methoden ausgelöst werdenStellen Sie zunächst fest, ob das Objekt über die Methode Symbol.toPrimitive(hint) verfügt. Wenn ja, führen Sie die Methode aus. Wenn nicht, führen Sie die folgenden Schritte aus. Wenn eine Konvertierung in einen String-Typ erwartet wird, wird zuerst die Methode toString() ausgeführt; Wenn eine Konvertierung in den Standardtyp oder numerischen Typ erwartet wird, wird zuerst die Methode valueOf() ausgeführt: Hinweis : Wenn keine valueOf()-Methode vorhanden ist, aber eine toString()-Methode definiert ist, wird die toString()-Methode ausgeführt. ZusammenfassenDieser Artikel endet hier. Ich hoffe, er kann Ihnen helfen. Ich hoffe auch, dass Sie mehr Inhalt auf 123WORDPRESS.COM lesen können! Das könnte Sie auch interessieren:
|
<<: Css3 realisiert nahtloses Scrollen und Anti-Shake
>>: Lösung für zu große Mysql-Binlog-Protokolldateien
Docker-Lernen https://www.cnblogs.com/poloyy/p/15...
1. Wie oben erwähnt Ich habe dieses Makro gesehen...
In diesem Artikel erfahren Sie den spezifischen J...
Nginx kann seine Reverse-Proxy-Funktion zum Imple...
Inhaltsverzeichnis 1 Installieren Sie Docker im B...
1. Erstellen Sie eine Tabelle mit HTML-Tags: Code...
Sortierabfrage (Sortieren nach) Im E-Commerce: Wi...
I. Einleitung 1: SSL-Zertifikat Mein Domänenname ...
Überblick Ich verwende Docker seit über einem Jah...
Vorwort Beim Einsatz von Docker in einer Produkti...
Die meisten Browser speichern die Eingabewerte st...
Methode 1: MySQL bietet einen Befehlszeilenparame...
Seit 2019 verwenden sowohl Android- als auch iOS-...
Umgebungsvorbereitung Docker-Umgebung MySQL 5.7 (...
Problembeschreibung MySQL meldet beim Start einen...