как работают квадратные скобки в javascript

Я новичок в js, недавно наткнулся на такой код

let a = [1, 0, 0, 0, 0, ];
let b = 0;
() => {
  if (b + 1 < 5) {
    a[b] = 0;
    a[b + 1] = 1;
    b++;
  }
}

Насколько мне известно, [ ] это объект, не могу понять что означает a[b] = 0, и как вообще эта функция работает без цикла.


Ответы (2 шт):

Автор решения: Даниил Кедров

Квадратные скобки - это массив.

В начале объявляется массив a и переменная равная 0.

Далее идёт стрелочная функция в которой проверяется условие, и в случае возврата true ячейке b (которая в данном случае является нулём) массива a присваивается значение 0, а дальше следующей ячейке значение 1, а далее переменная b инкрементируется.

Это основы, без которых дальше никуда.

→ Ссылка
Автор решения: OPTIMUS PRIME

Насколько мне известно, [] это объект...

Объекты →
Массивы →

Объект (он же: Ассоциативный массив), вот:

let obj = {
  "bubu": "BUBU!",
  "0": "a",
  "1": "b",
  "2": "c",
  "3": "d"
};

console.log(obj.bubu);   // "BUBU!"
console.log( obj[0] );   // "a"
console.log( obj["0"] ); // "a"

// console.log( obj.0 ); // ошибка

Хранит пары "ключ": "Значение". Знечения могут быть какими угодно, а ключи - только строками. Если ключ - обычная строка без специальных символов и пробелов, и не начинается с цифры, его значение можно достать через оператор-"точку". Для всех других случаев предусмотрена "скобочная нотация": Когда ключ записывается внутри квадратных скобок, сперва вычисляется, преобразуется в строку, а потом уже достается из объекта.

Т.е., будет работать и такой вариант:

var qs = "querySelector";
document[ qs ]('p')["style"]["background" + "Color"] = "orange";
// document.querySelector('p').style.backgroundColor = "orange";
<p>Работает!</p>

Но если ключ-обычная строка, используют точку, т.к. это просто короче.

let a = [1, 0, 0, 0, 0]; — а вот это, в JS называют просто "массив" (нумерованный список), особый тип объекта, у которого все ключи - числовые строки ("0", "1", "2"...) и спрятаны для удобства. И чтобы достать их значения, к массиву обращаются как к объекту, через скобки: a[0], a[1], a[2]...

P.s. а функция - не работает) Она просто объявлена и висит...

→ Ссылка