Site Overlay

ECMAScript – Trailing Commas

X

Datenschutz & Cookies

Diese Seite verwendet Cookies. Indem Sie fortfahren, stimmen Sie deren Verwendung zu. Erfahren Sie mehr, einschließlich der Kontrolle von Cookies.

Verstanden!

Werbung

JavaScript erlaubte seit Anfang an nachfolgende Kommas in Array-Literalen. Nachfolgende Kommas an anderen Stellen wurden in der späteren Ausgabe von ECMAScript hinzugefügt.

Nachfolgende Kommas werden auch als Endkommas bezeichnet.

Es kann verwendet werden, wenn Sie JavaScript-Code neue Parameter oder Eigenschaften hinzufügen. Wenn Sie eine neue Eigenschaft hinzufügen möchten, können Sie einfach eine neue Zeile hinzufügen, ohne die zuvor letzte Zeile zu ändern, wenn diese Zeile bereits ein nachfolgendes Komma verwendet. Dies macht Versionskontroll-Diffs sauberer und das Bearbeiten von Code ist möglicherweise weniger mühsam.

Arrays, Objektliterale, Funktionsparameter erlauben nachfolgende Kommas. JSON erlaubt jedoch keine abschließenden Kommas.

Nachgestellte Kommas in Array-Literalen

JavaScript erlaubt die nachgestellten Kommas in Arrays.

Wenn mehr als ein abschließendes Komma verwendet wird, wird ein Elision (oder Loch) erzeugt. Ein Array mit Löchern wird sparse genannt (ein dichtes Array hat keine Löcher). Beim Iterieren von Arrays zum Beispiel mit Array.Prototyp.forEach() oder Array.Prototyp.map(), Array-Löcher werden übersprungen.

Das letzte Komma im Array wird jedoch ignoriert.

Objektliterale

Trailing Comma wird in Objektliteralen aus der ECMAScript 5 Edition unterstützt.

Nachgestellte Kommas in Funktionen

ECMAScript 2017 erlaubt nachgestellte Kommas in Funktionsparameterlisten.

Nachgestellte Kommas erlaubten Funktionsdefinitionen und Funktionsaufrufe. Nachgestellte Kommas haben keinen Einfluss auf die length Eigenschaft von Funktionsdeklarationen oder deren arguments Objekt.

Funktionsparameter mit Kommas sind ungültig, was SyntaxError auslöst.

Was ist mit Internet Explorer-Unterstützung?

Wenn wir Babel verwenden, um unsere Skripte in natives JavaScript zu konvertieren, um Internet Explorer zu unterstützen. Wir müssen uns keine Sorgen um die Kompatibilität machen.

Das Babel konvertiert unsere Skripte mit nachgestellten Kommas, um den IE zu unterstützen.

Beispiel: Beim Erstellen des Pakets werden die Kommas entfernt.

Linke Seite: Unser ECMAScript-Code

Rechte Seite: Äquivalenter Code, der von Babel generiert wurde

macht Versionskontroll-Diffs sauberer und das Bearbeiten von Code könnte weniger lästig sein

Lassen Sie uns über den Hauptvorteil sprechen, die Unterstützung der Versionskontrolle.

Schauen Sie sich das folgende Beispiel an, ich versuche, zwei Arrays einen Eintrag zur Liste hinzuzufügen.

Einer hat nachgestellte Kommas und andere nicht. Wenn wir einem Array mit einem abschließenden Komma einen Eintrag hinzufügen, sieht das GIT diff sauber aus. Das ist der Hauptvorteil dieses ganzen Konzepts.

Wenn wir ein nachfolgendes Komma haben, wird nur die Hinzufügung des Eintrags angezeigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.