Heim >Web-Frontend >js-Tutorial >Warum a='abc' nicht gleich a=new String('abc') ist
In diesem Artikel wird hauptsächlich erläutert, warum a="abc" nicht gleich a=new String("abc") ist. Freunde, die es benötigen, können darauf verweisen.
Offensichtlich
a="abc" typeof a //string b=new String("abc") typeof b // object a==b //true a===b //false
Aber warum? Ich habe viele Bücher gelesen und mehrere Experten gefragt, war aber eigentlich immer noch verwirrt. Notieren Sie es hier zum späteren Nachschlagen.
Unterscheiden Sie in js zwischen Originaldatentyp und Verpackungstyp. Zahlen, Zeichenfolgen, Boolean, Null und undefiniert sind primitive Datentypen, während Number, String und Boolean Verpackungstypen sind. Was durch new Number erstellt wird, ist ein abgeleitetes Objekt des Verpackungstyps. Die beiden sind also nicht gleich.
Der Verwendungsprozess nach der direkten Zuweisung zu einem Basistyp ist wie folgt:
1 Erstellen Sie eine Instanz des String-Typs
2 angegebener Wert für die Instanzmethoden
3. Instanzen zerstören
Beispiel:
var a="123" a.toFixed===Number.prototype.toFixed;
Hier ist ein anderes Sprichwort: Boxen, Auspacken
Beim Boxen geht es darum, diese Wertklasse zu verwenden, um ein entsprechendes Verpackungsobjekt zu konstruieren
var a=10 ,b="javascript" , c=true; var o_a=new Number(a); var o_b=new String(b); var o_c=new Boolean(c);
Verpacken Die größte Aufgabe von Kartons besteht darin, Werte als Objekte zu behandeln.
Unboxing bedeutet, das verpackte Objekt in einen Werttyp umzuwandeln
var a=10; var o_a=new Number(a); var b=o_a.valueOf();//这就是拆箱的过程。
Verwandte Empfehlungen:
Ajax Ruft die Rückgabeparameter der PHP-Seite ab, die Methode zur Steuerungszuweisung
Über die dynamische Zuweisung von Jquery-IDs und die gemeinsame Nutzung dynamischer ID-Abrufmethoden
So verwenden Sie es in PHP: Weisen Sie dem JS-Array einen Wert zu
Das obige ist der detaillierte Inhalt vonWarum a='abc' nicht gleich a=new String('abc') ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!