Что означает [] в JavaScript?

В следующем javascript-коде есть [], назначаемое как значение переменной, что это значит?

var openTollDebug = [];

Ответ 1

это литерал массива. Это не совсем то же самое, что объявление new Array() - объект Array может быть перезаписан в JavaScript, но литерал массива не может. Вот пример, демонстрирующий

// let overwrite the Array object
Array = function(id) {
 this.id = id;
}

var a = new Array(1);
var b = [];

console.log(a.hasOwnProperty("id")); // true
console.log(b.hasOwnProperty("id")); // false

console.log(a.push); // false, push doesn't exist on a
console.log(b.push); // true,  but it does on b

b.push(2);
console.log(b); // outputs [2]

Ответ 2

Это означает массив.

var openTollDebug = [];

объявляет переменную openTollDebug и инициализирует ее пустым массивом. Чтобы поместить элементы в массив, вы можете сделать следующее:

var stringArray = ['element1', 'element2', 'element3'];
alert(stringArray[1]); // displays 'element2'
var numberArray = [1, 2, 3, 4];
alert(numberArray[2]); // displays 3
var objectArray = [{ name: 'john' }, { name: 'peter' }, { name: 'tom' }];
alert(objectArray[1].name); // displays 'peter'

Ответ 3

Это пустой массив и равен

var openTollDebug = new Array();

Ответ 4

Это сокращение для пустого массива. То же, что и новый массив(). Также {} - пустой объект. Объекты похожи на hashtables в Js, поэтому вы можете использовать его в качестве словаря.

Ответ 5

Он создает пустой массив.
Это хороший способ иметь ненулевой объект.
В JavaScript, тогда очень легко добавить функции и свойства к этому объекту. Например:

openTollDebug.title = 'hello world';
openTollDebug.show = function(){alert('Debug');};

В качестве массива вы можете добавлять элементы:

openTollDebug.push('added item');
openTollDebug[3] = 'just add anywhere';

Ответ 6

У многих языков есть конструкции для литералов. [] Является литералом массива.

var openTollDebug = [];

совпадает с

var openTollDebug = new Array();

Просто знайте, что использование [] предпочтительнее по соображениям производительности.

Существуют и другие литералы, такие как Object literals

var MyObject = {
              name:'default',
              age:22,
              hobbies:["golf","video games","otherstuff"]
}

Обратите внимание на литерал массива с данными. [] Создает пустой массив.

Ответ 7

Попробуйте использовать литералы из-за производительности. Вы не пишете

var obj = new Object({name: 'John'})

Вы просто пишете

var obj = {name: 'John'}

Вы также не пишете

button.onclick = new Function("alert('Clicked!')"); 

Вы пишете

button.onclick = function () { alert('Clicked') }

И здесь ссылка с хорошим сообщением в блоге об этом

Ответ 8

var b = [] //it is an array literal.