Что такое массив
Что такое массив
Технический фундамент массивов
Массив в JavaScript — специальный объект для индексированной коллекции данных.
Технически это ссылочный тип с дополнительной логикой вокруг индексов и length.
const arr = ['a', 'b'];
console.log(typeof arr); // object
console.log(Array.isArray(arr)); // true
console.log(arr.length); // 2
Ключевой момент: массив — это не «просто объект», а структура с предсказуемым поведением для последовательных данных.
Базовая идея и синтаксис
Массив создают в квадратных скобках [].
const fruits = ['apple', 'banana', 'orange'];
const scores = [10, 20, 30];
const mixed = ['Alex', 23, true];
Элементы массива имеют индексы: 0, 1, 2 и т.д.
const colors = ['red', 'green', 'blue'];
console.log(colors[0]); // red
console.log(colors[2]); // blue
console.log(colors[10]); // undefined
Проверь себя: какой индекс у последнего элемента в массиве из 5 элементов?
length и границы
Свойство length показывает размер массива. В обычных «плотных» массивах это совпадает с количеством элементов.
const tasks = ['login', 'fetch', 'render'];
console.log(tasks.length); // 3
Смотри, что важно: технически length = последний индекс + 1. Если создать «дыры» (разреженный массив), length может быть больше числа реально заполненных элементов.
const a = [];
a[2] = 'x';
console.log(a.length); // 3
console.log(a[0]); // undefined (там нет значения)
Последний элемент обычно получают так:
const lastTask = tasks[tasks.length - 1];
console.log(lastTask); // render
Здесь часто путаются: если взять tasks[tasks.length], ты выйдешь за границу и получишь undefined.
Массивы по ссылке
Новый термин: ссылочный тип. Массив хранится по ссылке, а не как независимая копия при простом присваивании.
const original = ['JS', 'HTML'];
const copy = original;
copy.push('CSS');
console.log(original); // ['JS', 'HTML', 'CSS']
Анти-провал: если нужна отдельная копия, делай const clone = [...original].
Смотри, что важно: это поверхностная копия (shallow). Вложенные объекты/массивы внутри все равно будут разделяться по ссылке.
Микро-сценарии
- Рендер списка курсов на странице.
const lessons = ['Введение', 'Переменные', 'Массивы'];
for (const lesson of lessons) {
console.log(`Урок: ${lesson}`);
}
- Хранение статусов заказов из API.
const statuses = ['new', 'paid', 'shipped'];
Один массив позволяет централизованно управлять UI-состояниями.
Типичные ошибки новичков
- Считать, что индекс начинается с
1, а не с0. - Выходить за границы массива.
- Случайно менять исходный массив через вторую переменную-ссылку.
- Путать массив
[]и объект{}.
Краткий итог
- Массив — упорядоченный список значений.
- Элементы доступны по индексам с
0. lengthпоказывает размер массива.- Массивы хранятся по ссылке, копирование требует отдельного шага.
- Массив — базовая структура для работы со списками в JavaScript.