Yanıtlar:
Birinci ve üçüncü eşdeğerdir ve yeni bir dizi oluşturur. İkincisi, bir dizi değil, yeni bir boş nesne oluşturur.
var myArray = []; //create a new array
var myArray = {}; //creates **a new empty object**
var myArray = new Array(); //create a new array
myObject["someValue"]veya myObject.someValue. {}Will tarafından oluşturulan boş nesne elbette bu özelliklere sahip değildir, ancak onlara aynı şekilde atayabilirsiniz:myObject.someValue = "hello!"
var a = new Array(5)ve var b = [5]daha sonra a≠ b(Beri a.length= 5 ise b.length= 1, a[0]bir undefinedsüre b[0]ile, yani 5, ve.)
var a;ve var a = {};aynı?
var myObject = {}; var ile eşdeğerdir myObject = new Object();
Yani, ikinci örnek Arraybir genel değil Object.
Bu Array, bir sınıf ve bir sınıf olduğu için kafa karıştırıcı olabilir Object- daha doğrusu Arraybir alt sınıfıdır Object. Dolayısıyla, Objectgenel olarak anlambilim aşağıdakilere uygulanabilir 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', aslında diziye bir öğe eklemiyorsunuz, ancak dizi nesnesinin bir özelliğini ayarlıyorsunuz . Şaşkın? Size söyledim;) JavaScript'te temelde her şey bir nesnedir. Diğer nesneler gibi Array, RegExp... daha fazla işlevselliğe sahip temel nesneyi uzanır. Küme parantezleri ile düz, boş bir nesne oluşturulur plain_obj = {}.