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
Installieren Sie zunächst den OpenSSH-Server im D...
Vorwort Wie wir alle wissen, ist in Linux alles e...
Inhaltsverzeichnis Ursache des Vorfalls Verwenden...
Inhaltsverzeichnis Vorwort: Ergebnis: 1. Polymeri...
Inhaltsverzeichnis 1. Übersicht 1.1 Verwendung vo...
Bei der Hintergrundverwaltung von Projekten werde...
Inhaltsverzeichnis Vorwort 1. Lebenszyklus in Vue...
Inhaltsverzeichnis Fallstudie Kontostand aktualis...
In diesem Artikelbeispiel wird der spezifische Co...
1. Zeitformatierung und andere Methoden Es wird e...
Der Artikel zeichnet hauptsächlich den einfachen ...
Problembeschreibung: Der Benutzer hat die Anforde...
Mithilfe einiger einfacher Linux-Befehle können S...
Datentyp: Die grundlegenden Regeln, die definiere...
1. Laden Sie das neueste Nginx-Docker-Image herun...