JavaScript-String-Initialisierung

8

In JavaScript, von meinem Verständnis her, sind die folgenden alle gleich:

%Vor%

Welches ist das am meisten bevorzugte?

    
Nate Pet 30.03.2012, 16:21
quelle

5 Antworten

7

Verwenden Sie nicht

%Vor%

Weil

%Vor%

Aber

%Vor%

Jedoch, wegen Typzwang, funktioniert das folgende (Danke an Rocket für das Aufzeigen)

%Vor%

Einfache und doppelte Anführungszeichen spielen keine Rolle, außer für welche Anführungszeichen maskiert werden muss. Viele andere haben bemerkt, dass einfache Anführungszeichen beim Erstellen von HTML-Strings besser sind, da XHTML erwartet, dass Attribute doppelte Anführungszeichen haben Ich muss ihnen nicht entkommen.

    
Juan Mendes 30.03.2012, 16:24
quelle
6

Wenn Sie new String() ausführen, erhalten Sie kein primitives Element string , sondern ein String -Objekt.

Für alle Absichten und Zwecke verhält es sich wie ein string primitiv, aber es gibt Fälle, wo es nicht geht. Zum Beispiel:

%Vor%

Auch beim Vergleichen von Dingen kann es Probleme geben. Wenn Sie Objekte in JavaScript vergleichen, ist dies nur true , wenn es sich um das genau gleiche Objekt handelt, nicht nur um denselben Wert. Beispiel:

%Vor%

Sie können .valueOf() verwenden, um ein String Objekt in ein string primitiv zu konvertieren.

%Vor%

Also empfehle ich highly , var a = '' oder var a = "" zu verwenden. Wie für einfache Anführungszeichen gegen doppelte Anführungszeichen gibt es keinen Unterschied. Betrachten Sie dieses Beispiel:

%Vor%

Es liegt also an Ihnen, ob Sie ' oder " verwenden, aber ich empfehle diese über new String() .

    
Rocket Hazmat 30.03.2012 16:29
quelle
2

Während '' und "" identisch sind (sie sind Primitive), ist new String() nicht , weil sie ein String Objekt zurückgibt.

%Vor%

Siehe Unterscheidung zwischen String-Primitiven und String -Objekten .

    
josh3736 30.03.2012 16:24
quelle
1

Ich bevorzuge var carter2 = ''; , weil:

  1. Es ist nicht verbösiv
  2. Doppelte Anführungszeichen können mit doppelten Anführungszeichen in Strings kollidieren.

Also bevorzuge ich einfache Anführungszeichen in Java-Script, doppelte Anführungszeichen für HTML-Attribute.

UPD: das ist meine Präferenz, ich weiß, dass einfache doppelte Anführungszeichen austauschbar sind.

    
Eugene Retunsky 30.03.2012 16:25
quelle
-1

Definitiv ohne den Aufruf der Konstruktorfunktion.

Also mit einfachen oder doppelten Anführungszeichen (d. h. literal).

Beachten Sie, diese Art der Optimierung (Literal vs. Konstruktor) würde meiner Meinung nach nur dann eine Rolle spielen, wenn Sie Hunderte oder Tausende dieser Anweisungen hätten.

    
thescientist 30.03.2012 16:23
quelle

Tags und Links