Объекты: создание, свойства, методы, доступ и удаление значений

Что такое объекты в JavaScript? 🧱

Объекты — это основа JavaScript. Они позволяют хранить данные в виде пар ключ: значение и описывать сложные сущности.

const user = {
  name: "Данила",
  age: 28,
  isTeacher: true,
};

Здесь user — объект с тремя свойствами: name, age и isTeacher.

💡 Совет: Объекты похожи на реальные предметы. Например, автомобиль — это объект со свойствами (цвет, модель) и методами (завести, тормозить).


Создание объектов 🏗️

Есть три способа создать объект:

  1. Литерал объекта (самый простой):
    javascript const cat = { name: "Барсик", age: 3 };

  2. Через new Object() (редко используется):
    javascript const dog = new Object(); dog.name = "Рекс"; dog.age = 5;

  3. Фабричные функции или конструкторы (о них позже).

🔥 Важно: Литеральный синтаксис ({}) — стандарт в современном JS.


Доступ к свойствам 🔍

Есть два способа получить значение свойства:

  1. Через точку (если ключ — валидный идентификатор):
    javascript console.log(user.name); // "Данила"

  2. Через квадратные скобки (если ключ — строка или содержит спецсимволы):
    javascript const key = "age"; console.log(user[key]); // 28

⚠️ Осторожно: Если свойства нет, вернётся undefined.


Добавление и изменение свойств ✏️

Объекты динамические — можно добавлять и менять свойства на лету:

user.job = "Преподаватель"; // добавили новое свойство
user.age = 29;              // изменили существующее

Можно даже использовать вычисляемые свойства:

const dynamicKey = "language";
user[dynamicKey] = "JavaScript"; // user.language = "JavaScript"

Методы объектов 🛠️

Метод — это функция внутри объекта. Она может работать с данными объекта.

const calculator = {
  sum(a, b) {
    return a + b;
  },
  multiply(a, b) {
    return a * b;
  },
};

console.log(calculator.sum(2, 3)); // 5

💡 Запомните: this в методах ссылается на сам объект (но это тема отдельного разговора).


Удаление свойств 🗑️

Оператор delete полностью убирает свойство из объекта:

delete user.isTeacher; // свойство isTeacher больше не существует

⚠️ Внимание: delete не удаляет свойства из прототипов, только из самого объекта!


Проверка существования свойства 🔎

Используйте:

  1. Оператор in (проверяет даже унаследованные свойства):
    javascript console.log("name" in user); // true

  2. Метод hasOwnProperty() (только собственные свойства):
    javascript console.log(user.hasOwnProperty("age")); // true


Итог 🎯

  • Объекты хранят данные в виде ключ: значение.
  • Создаются через {}, new Object() или конструкторы.
  • Доступ к свойствам — через точку или квадратные скобки.
  • Методы — это функции внутри объекта.
  • Удалять свойства можно через delete.
  • Проверять наличие свойств — in или hasOwnProperty().

Теперь вы готовы создавать и управлять объектами! 🚀

🔥 Для углублённого изучения: Если хотите разобраться в this, прототипах и классах — посмотрите курс Данилы Бежина.

Скрыть рекламу навсегда

🎥 YouTube: программирование простым языком

Канал, где я спокойно и по шагам объясняю сложные темы — без заумных терминов и лишней теории.

Подходит, если раньше «не заходило», но хочется наконец понять.

▶️ Смотреть курсы на YouTube