Was sind die Vorteile der Verwendung vonVorteile von [] über new Array() verwendet in JavaScript
var foo = [];
über mit
var bar = new Array();
i gesagt habe [] über neue Array zu verwenden (), aber nie mit viel Erklärung
Was sind die Vorteile der Verwendung vonVorteile von [] über new Array() verwendet in JavaScript
var foo = [];
über mit
var bar = new Array();
i gesagt habe [] über neue Array zu verwenden (), aber nie mit viel Erklärung
Der Hauptgrund, []
im Gegensatz zu new Array()
zu verwenden, sind die Argumente, die Sie übergeben. Wenn Sie new Array(10)
verwenden, erstellen Sie ein leeres Array mit 10 Elementen. Wenn Sie jedoch [10]
verwenden, erstellen Sie ein Array mit einem Element, dessen Wert 10
ist. Da dies im Allgemeinen die Informationen sind, die die meisten Programmierer an ein Array übergeben möchten (da Arrays in Javascript dynamisch sind), wird dies im Allgemeinen als die beste Vorgehensweise angesehen. Auch new Array(10,20)
funktioniert anders als new Array(10)
. In diesem Fall haben Sie den gleichen Effekt wie [10,20]
, um ein Array mit 2 Elementen, 10 und 20 zu erstellen. Da dies ... im besten Fall ... seltsam ist, ist es einfach, ein leeres Array zu erstellen, indem new Array()
nur ein Wert übergeben wird . []
hat immer den gleichen Effekt, also würde ich auch empfehlen, dabei zu bleiben.
new Array(10)
und new Array("10")
sind ziemlich unterschiedlich)+1 Noch schlimmer: neue Array (10) und neue Array (10, 20) sind völlig unterschiedlich. –
Es ist das gleiche. Der einzige Grund, []
über new Array()
zu verwenden, ist, dass es kürzer ist.
kürzer und sauberer. Sollte {} verwenden, um auch Objekte zu erstellen.
Beide können als gut verwendet werden. Diese Diskussion/Verwirrung hat begonnen, seit Javascript Guru Douglas Crockford sagte, dass the new
keyword is considered harmful. Seitdem wurde es als "gute Praxis/Technik" betrachtet, das Schlüsselwort new
wegzulassen, um unerwartete Ergebnisse/Verhaltensweisen zu vermeiden. Siehe auch Stackoverflow topic.
Auch: jslint markiert 'new Array()' als ein Problem und schlägt vor, es durch '[]' zu ersetzen. – Cheeso
Die oberen Antworten bei dieser Verbindung geben an, dass sie nicht schädlich ist und dass sie in vielen Fällen verwendet werden kann. Außerdem sehe ich keine Gefahr oder keinen Schaden in "new Array()" – Sasha
Es gibt in der Tat keine Gefahren, wenn Sie es konsequent verwenden. Es ist nur eine "Übung". – BalusC
Es punktet Sie weniger Symbole im Code Golf.
Drei Gründe (die erste auf in anderen Antworten erweitert zwei):
Array
Konstruktor überschrieben wurde.Nicht Gründe:
new
Betreiber. Haben Sie keine Angst vor new
, nur weil Douglas Crockford einmal davon gebissen wurde. Es ist sehr nützlich.Ich wähle jeden, der sagt "Hör nicht blind auf Douglas Crockford". Er hat großartige Ideen, aber er ist nicht Gott und ich stimme insbesondere mit vielen von ihnen nicht überein –
+1 Ich glaube, das ist der Hauptgrund. Wenn ich mich richtig erinnere, war die [] -Syntax in früheren JavaScript-Implementierungen einfach nicht verfügbar. –
Tatsächlich wurden Array- und Objektliterale in JavaScript 1.2 eingeführt. IE 4 und Netscape 4 unterstützten sowohl Array- als auch Objektliterale, so dass beide heutzutage völlig sicher zu verwenden sind, es sei denn, Sie müssen aus früheren Gründen auf frühere Versionen dieser Browser zurückgreifen. –
Ein weiterer guter Grund, [] zu verwenden, ist einfach: 'new Array()' => 11 Zeichen; '[]' => 2 Zeichen. Verwenden Sie einfach die kurze Notation ist beides ziemlich gleichwertig. –