JavaScript 配列を宣言する際の「Array()」と「[]」の違いは何ですか? 質問する

JavaScript 配列を宣言する際の「Array()」と「[]」の違いは何ですか? 質問する

次のように配列を宣言することの実際の違いは何でしょうか。

var myArray = new Array();

そして

var myArray = [];

ベストアンサー1

違いはありますが、この例では違いはありません。

より冗長な方法を使用する:new Array()パラメータに 1 つの追加オプションがあります: コンストラクターに数値を渡すと、その長さの配列が取得されます:

x = new Array(5);
alert(x.length); // 5

配列を作成するさまざまな方法を説明します。

var a = [],            // these are the same
    b = new Array(),   // a and b are arrays with length 0

    c = ['foo', 'bar'],           // these are the same
    d = new Array('foo', 'bar'),  // c and d are arrays with 2 strings

    // these are different:
    e = [3]             // e.length == 1, e[0] == 3
    f = new Array(3),   // f.length == 3, f[0] == undefined

;

もう一つの違いは、 を使用するとnew Array()配列のサイズを設定でき、それがスタックサイズに影響することです。これはスタックオーバーフローが発生している場合に役立ちます (Array.push と Array.unshift のパフォーマンス) は、配列のサイズがスタックのサイズを超えた場合に発生し、再作成が必要になります。そのため、new Array()オーバーフローの発生を防ぐことができるため、ユースケースによっては、 を使用するとパフォーマンスが向上する可能性があります。

指摘されているようにこの答えは、実際に配列にnew Array(5)5 つの項目を追加するわけではありません。単に 5 つの項目のためのスペースを追加するだけです。この方法を使用すると、計算に頼るのが難しくなることに注意してください。undefinedArrayarray.length

おすすめ記事