Відповіді:
Перший і третій еквівалентні і створюють новий масив. Другий створює новий порожній об’єкт, а не масив.
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 = {}; еквівалентний вар myObject = new Object();
Отже, другий приклад - не загальний, 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'ви фактично не додаєте елемент до масиву, а встановлюєте властивість об’єкта масиву . Плутати? Я сказав вам;) У JavaScript в основному все є об'єктом. Інші об'єкти, такі як Array, RegExp..., розширюють основний об'єкт з подальшою функціональністю. Простий, порожній об’єкт створюється ним за допомогою фігурних дужок plain_obj = {}.