Что такое объект

Что такое объект

Технический фундамент объектов

Объект в JavaScript — это отображение «ключ → значение» с динамической структурой полей.
Технически это ссылочный тип, у которого ключи приводятся к строкам (кроме Symbol) и свойства читаются по имени.

const obj = { id: 1 };
obj['name'] = 'Ann';

console.log(obj.id); // 1
console.log(obj['name']); // Ann

Ключевой момент: объект оптимален для хранения сущности с именованными полями, а не позиционными индексами.

Базовая идея и синтаксис

Объект создают в фигурных скобках {}.

const user = {
  id: 1,
  name: 'Alex',
  isAdmin: false,
};

Здесь id, name, isAdmin — это свойства (keys), а 1, 'Alex', false — их значения.

Проверь себя: почему для пользователя удобнее объект, чем массив вроде [1, 'Alex', false]?

Доступ к данным

Есть два основных способа:

console.log(user.name); // Alex
console.log(user['isAdmin']); // false

Запись через точку user.name читается проще. Запись через скобки user['name'] нужна, когда ключ хранится в переменной.

const field = 'name';
console.log(user[field]); // Alex

Смотри, что важно: скобки также нужны, если ключ не является корректным идентификатором (например, содержит - или пробел).

const settings = {
  'theme-color': 'red',
};

console.log(settings['theme-color']); // red
// console.log(settings.theme-color); // так нельзя: это будет воспринято как (settings.theme) - (color)

Объект можно изменять

user.name = 'Max';
user.email = 'max@mail.com';

console.log(user);

Ключевой момент: даже если объект объявлен через const, ты можешь менять его свойства. Нельзя только переназначить саму переменную user на новый объект.

Микро-сценарии

  1. Данные профиля в личном кабинете.
  2. Карточка товара: { title, price, inStock }.
const product = {
  title: 'Keyboard',
  price: 3200,
  inStock: true,
};

Типичные ошибки

  • Путать объект {} и массив [].
  • Ожидать фиксированный порядок свойств как у индексов в массиве.
  • Использовать obj.key, когда ключ в переменной (нужны скобки).
  • Не проверять существование поля перед использованием.

Краткий итог

  • Объект хранит данные как «ключ → значение».
  • Это базовая структура для описания сущностей.
  • Свойства читаются через . или [].
  • Объект можно расширять и обновлять во время работы.
  • Понимание объектов — фундамент для работы с API и приложениями.