Sollen wir schreiben?

var a = [ 'a', 'b', 'c', ];
var b = { '1', '2', '3', };

Oder

var a = [ 'a', 'b', 'c' ];
var b = { '1', '2', '3' };

Was ist der richtigste Weg?

Ich habe festgestellt, dass alte Versionen des IE Fehler auslösen, wenn Komma erwartet, dass nach dem Komma ein anderes Array-Element (oder eine andere Eigenschaft) angezeigt wird.

0
s.webbandit 7 Okt. 2012 im 22:49

4 Antworten

Beste Antwort

Ich habe festgestellt, dass alte Versionen des IE Fehler auslösen, wenn Komma vorhanden ist

Grund genug, nach dem letzten Element kein Komma zu setzen! Es ist jedoch gültig, um dies zu tun.

Beachten Sie jedoch, dass Ihr 2. Beispiel ...

var b = { '1', '2', '3', };

... wird einen Syntaxfehler auslösen. Ich vermute, Sie wollten es zu einem Objektliteral machen, haben aber beim Schreiben der Frage nur einen Fehler gemacht:

var b = { x: '1', y: '2', z: '3', }; //Object literal, no syntax error :)
5
James Allardice 7 Okt. 2012 im 18:51

Beide sind gemäß der ECMAScript 5-Spezifikation korrekt .

Obwohl dies nichts mit JavaScript, FWIW, zu tun hat, ist das nachfolgende Komma in JSON nicht zulässig.

1
Ray Toal 7 Okt. 2012 im 18:53

Der korrekteste Weg ist ohne ein nachfolgendes Komma, da dies impliziert, dass etwas folgen muss.

0
Jordan Denison 7 Okt. 2012 im 18:51

Ich lache nur über diese Situation :)

// Firefox and Chrome 
["a", "b",].length // 2

// ie7
["a", "b",].length // 3 :) 
1
yasaricli 7 Okt. 2012 im 19:17