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
1. Verwenden Sie Frameset, Frame und Iframe, um m...
Dieser Artikel beschreibt die Support- und Proble...
Vorwort Heute bin ich in Nginx auf ein sehr selts...
Was ist eine Bindung? NIC-Bond ist eine Technolog...
Verwendung von neuen Die Funktion von new besteht...
ausstellen Design Passwortstärke-Analyse Das Pass...
Inhaltsverzeichnis Vorwort Motivation für Fragmen...
Umweltvorbereitung: VMware+CentOS, jdk 1. Überprü...
Inhaltsverzeichnis 1. Szenario 2. Grundfunktionen...
In diesem Artikel erfahren Sie, wie Sie das kompr...
1. Lassen Sie uns zunächst eine allgemeine Einfüh...
In diesem Artikel wird der spezifische Code für J...
Anti-Shake: Verhindert, dass wiederholte Klicks E...
Standardmäßig beträgt der Rand der Tabelle 0 und ...
Mein erstes Serverprogramm Ich lerne gerade, Onli...