回答:
最初と3番目は同等であり、新しい配列を作成します。2番目は、配列ではなく新しい空のオブジェクトを作成します。
var myArray = []; //create a new array
var myArray = {}; //creates **a new empty object**
var myArray = new Array(); //create a new array
myObject["someValue"]またはmyObject.someValue。作成された空のオブジェクト{}の意志はもちろん、それらの性質を持っていないが、あなたは同じように彼らに割り当てることができますmyObject.someValue = "hello!"
var a = new Array(5)そしてvar b = [5]、その後a≠ b(以降a.length= 5ながらb.length= 1、a[0]でありundefinedながらb[0]5である、など。)
var a;とvar a = {};同じ?
var myObject = {}; varと同等 myObject = new Object();
したがって、2番目の例はArray一般的なものではありませんObject。
これはArrayクラスであり、クラスでもObjectあり、より正確にArrayはのサブクラスなので、混乱する可能性がありObjectます。したがって、Object概して、セマンティクスは以下に適用できますArray。
var o = [];
o.push('element1');
o.push('element2');
o['property1'] = 'property value'; // define a custom property.
console.log(o.property1);
console.log(o.length); // Outputs '2' as we've only push()'ed two elements onto the Array
o['property1'] = 'property value'、実際には配列に要素を追加するのではなく、配列オブジェクトのプロパティを設定します。混乱していますか?私はyaに言った;)JavaScriptでは、基本的にすべてがオブジェクトです。他の目的は、のようなArray、RegExp...更なる機能を持つ基本的なオブジェクトを拡張します。プレーンな空のオブジェクトは、中括弧で作成されますplain_obj = {}。