8

重複の可能性:
JavaScript配列を宣言する際の「Array()」と「[]」の違いは何ですか?

JavaScriptでは、次のような新しい配列を作成できます。

var arr = new Array();

または好き:

var arr2 = [];

違いは何ですか?なぜあなたはお互いをやり直すのですか?

4

3 に答える 3

4

new Array(2)2つのを含むサイズ2undefinedの配列を誇っています。 数値2[2]を含むサイズ1の配列を生成します。IMOは、配列の構築をはるかに見つけやすくする可能性はありますが、JavaScriptの精神に適合していません。これは重要な場合とそうでない場合があります(適用可能なすべてのタイプに対してJavaScriptでほぼ排他的にリテラルを使用し、JavaScript [30-50 KLOC]の大部分を正常に作成/保守しました)。new Array

編集ベテランのJavaScriptプログラマーnew Arrayが構文を避ける理由は次のとおりです。

  • 引数の数と型全体で均一に動作するわけではありませ(new Array(X)).length == 1X typeof(X) != "number"
  • それはより冗長であり、あなたが得る唯一のものは不規則性です
于 2010-02-04T22:47:38.297 に答える
2

[]優先して使用するもう1つの(マイナーな)理由は、オーバーライドさnew Array()れるArray可能性があり(私はそれが発生するのを見たことがありませんが)、[]動作することが保証されていることです。

Array = "something";
var a = new Array(); // Fails
var b = []; // Works
于 2010-02-04T23:22:32.103 に答える
0

それらは同一だと思います。new Array();を使用することはありません。

于 2010-02-04T22:33:00.843 に答える