> В чем отличие массивов от объектов в JavaScript (JavaScript)

Уровень: senior · Роль: frontend · Категория: Технические вопросы

Компании: Домклик, IT-One, Софт Медиа Групп, Avito, EdenAI, Яндекс

Стек: JavaScript

> Пример ответа

Основное отличие массивов от объектов в JavaScript заключается в их назначении и структуре. Массивы - это упорядоченные коллекции данных, доступ к элементам которых осуществляется по числовым индексам (начиная с 0). Они оптимизированы для работы с последовательностями и предоставляют множество встроенных методов для итерации, сортировки и модификации (например, push, map, filter). Объекты - это неупорядоченные коллекции пар "ключ-значение", где ключи - строки (или символы), а значения могут быть любого типа. Доступ к свойствам объекта происходит по имени ключа, и они предназначены для хранения структурированных данных с именованными полями.

Ключевые различия:

  • Индексация: массивы используют числовые индексы, объекты - строковые ключи.

  • Порядок: массивы гарантируют порядок элементов (согласно индексам), объекты - нет (хотя в современном JS порядок строковых ключей частично сохраняется).

  • Прототип: массивы наследуют от Array.prototype, объекты - от Object.prototype, что даёт разные наборы методов.

  • Проверка типа: для массивов используется Array.isArray(), для объектов - typeof obj === 'object' && obj !== null.

  • Производительность: массивы оптимизированы для операций с индексами, объекты - для быстрого доступа по ключу.

Пример:

JAVASCRIPT
const arr = [1, 2, 3]; // массив
const obj = { a: 1, b: 2 }; // объект
arr[0]; // 1 (доступ по индексу)
obj.a; // 1 (доступ по ключу)
Array.isArray(arr); // true
Array.isArray(obj); // false

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью