Heim  >  Artikel  >  Web-Frontend  >  Warum sind Zeichenfolgen in Javascript unveränderlich?

Warum sind Zeichenfolgen in Javascript unveränderlich?

青灯夜游
青灯夜游Original
2022-02-16 14:47:453380Durchsuche

In JavaScript ist der Wert einer Zeichenfolge unveränderlich, was bedeutet, dass er, sobald eine Zeichenfolge erstellt wurde, nicht geändert werden kann. Grund: Die Zeichenfolge selbst ist ein von der Sprache gekapselter Basistyp und der zugrunde liegende Typ ist immer noch ein Objekt. Der Inhalt des Objekts kann seit seiner Erstellung nicht geändert werden, sodass die Zeichenfolge unverändert bleibt.

Warum sind Zeichenfolgen in Javascript unveränderlich?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

In JavaScript ist der Wert einer Zeichenfolge unveränderlich, was bedeutet, dass die Zeichenfolge nach ihrer Erstellung nicht mehr geändert werden kann.

Zum Beispiel ändert der folgende Code:

var myStr = "Bob";
myStr[0] = "J";

den Wert der Variablen myStr nicht in „Job“, da die Variable myStr unveränderlich ist.

Beachten Sie, dass dies nicht bedeutet, dass myStr niemals geändert werden kann, sondern nur, dass die einzelnen Zeichen des String-Literals nicht geändert werden können.

Die einzige Möglichkeit, myStr zu ändern, besteht darin, ihm einen Wert zuzuweisen, etwa so:

var myStr = "Bob";
myStr = "Job";

Warum sind Strings in js unveränderlich?

Tatsächlich ist der String selbst ein von der Sprache gekapselter Basistyp (Ausgabe über den systemeigenen String-Konstruktor neu). Die unterste Ebene ist immer noch ein Objekt, kein einfacher Datentyp. Der Inhalt dieses Objekts kann seit seiner Erstellung nicht geändert werden, sodass die Zeichenfolge unverändert bleibt. Operationen wie

+ generieren nur neue String-Objekte und die ursprünglichen String-Objekte ändern sich nicht. Wenn auf ein String-Objekt nicht mehr verwiesen wird, wird es von GC recycelt.

【Verwandte Empfehlungen: Javascript-Lern-Tutorial

Das obige ist der detaillierte Inhalt vonWarum sind Zeichenfolgen in Javascript unveränderlich?. 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