Kommas vor

Avatar of Chris Coyier
Chris Coyier am

DigitalOcean bietet Cloud-Produkte für jede Phase Ihrer Reise. Starten Sie mit 200 $ kostenlosem Guthaben!

Marc Grabanski brachte gestern auf Twitter eine interessante Idee auf.

Kommas vor oder nach der Zeile bei JSON-Objekten und Mehrfachvariablendefinitionen?

Hier sind Beispiele für Objektliterale

// commas before
var vampyre = {
    teeth: 'sharp'
  , blood: 'stale'
  , age: 320
}

// commas after
var vampyre = {
    teeth: 'sharp',
    blood: 'stale',
    age: 320
}

Sie sehen wahrscheinlich die meiste Zeit Kommas nach der Struktur. Es „sieht richtig aus“. Aber die Kommas davor machen diese Codeabschnitte einfacher zu handhaben.

Nehmen wir an, Sie möchten eine Zeile auskommentieren. Mit der Technik der Kommas davor kommentieren Sie die Zeile einfach aus, wie Sie es bei jeder anderen Codezeile in JavaScript tun würden, indem Sie ihr „//“ voranstellen. Bei der Struktur mit Kommas danach müssen Sie vorsichtiger sein. Wenn Sie die letzte Deklaration (Alter) auskommentieren würden, würde die letzte Deklaration mit einem Komma enden und einen Fehler auslösen. Dann bleibt Ihnen nur noch, dieses Komma manuell zu entfernen oder es ebenfalls auszukommentieren.

Es ist technisch gesehen ein Gleichstand, da das Auskommentieren aus der Mitte eines Deklarationsblocks auf beide Arten gleich ist. Kommas davor erleichtern das Auskommentieren der letzten Deklaration und Kommas danach erleichtern das Auskommentieren der ersten.

Funktioniert genauso, wenn mehrere Variablen in einer Anweisung deklariert werden

// commas before
var foo = 'bar'
  , boo = 'baz'
  , doo = 'dad'
  ;

// commas after
var foo = 'bar',
    boo = 'baz',
    doo = 'dad';

Beachten Sie auch das Semikolon am Anfang (von Scott González). Dies trägt zur Einfachheit des Auskommentierens bei (das ist der Sinn der Sache), da Sie das Semikolon nicht auskommentieren, wenn Sie die letzte Zeile auskommentieren.

Es ist eine wirklich kleine Sache und es sieht seltsam aus, aber ich bin ein Fan der Idee mit den Kommas davor. Ich denke, es liegt daran, dass ich beim Hinzufügen neuer Deklarationen diese gerne unten hinzufüge und auf eine Weise, die beim Testen schneller und einfacher auszukommentieren ist.