Heim >Web-Frontend >js-Tutorial >Warum a='abc' nicht gleich a=new String('abc') ist

Warum a='abc' nicht gleich a=new String('abc') ist

小云云
小云云Original
2018-01-03 10:58:522130Durchsuche

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn