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
Ich bin sehr glücklich. Wenn ich auf dieses Probl...
In diesem Artikelbeispiel wird der spezifische Co...
Im Bereich Design gibt es jedes Jahr unterschiedl...
Gespeicherte Prozeduren 1. Erstellen Sie eine ges...
Auf den Seiten von Webanwendungen werden häufig T...
1. So überwachen Sie MySQL-Deadlocks in Produktio...
Der spezifische Code zum Senden von Emoticons im ...
Ich bin heute auf ein sehr seltsames Problem gesto...
Einloggen Docker-Anmeldung Schließen Sie die Regi...
Das Hyperlink-Tag <a> stellt einen Linkpunkt...
Inhaltsverzeichnis 1. Systemüberwachung 2. Dateio...
1. Erstellen Sie mit der Methode Object.create() ...
Inhaltsverzeichnis Funktion „Verfassen“ Array.Pro...
Auswählen und ändern: Klicken Sie, um den aktuell...
Inhaltsverzeichnis Vorwort Ergebnisse erzielen Co...