Что такое объект
Что такое объект
Технический фундамент объектов
Объект в 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 на новый объект.
Микро-сценарии
- Данные профиля в личном кабинете.
- Карточка товара:
{ title, price, inStock }.
const product = {
title: 'Keyboard',
price: 3200,
inStock: true,
};
Типичные ошибки
- Путать объект
{}и массив[]. - Ожидать фиксированный порядок свойств как у индексов в массиве.
- Использовать
obj.key, когда ключ в переменной (нужны скобки). - Не проверять существование поля перед использованием.
Краткий итог
- Объект хранит данные как «ключ → значение».
- Это базовая структура для описания сущностей.
- Свойства читаются через
.или[]. - Объект можно расширять и обновлять во время работы.
- Понимание объектов — фундамент для работы с API и приложениями.