Объекты: создание, свойства, методы, доступ и удаление значений
Что такое объекты в JavaScript? 🧱
Объекты — это основа JavaScript. Они позволяют хранить данные в виде пар ключ: значение и описывать сложные сущности.
const user = {
name: "Данила",
age: 28,
isTeacher: true,
};
Здесь user — объект с тремя свойствами: name, age и isTeacher.
💡 Совет: Объекты похожи на реальные предметы. Например, автомобиль — это объект со свойствами (
цвет,модель) и методами (завести,тормозить).
Создание объектов 🏗️
Есть три способа создать объект:
-
Литерал объекта (самый простой):
javascript const cat = { name: "Барсик", age: 3 }; -
Через
new Object()(редко используется):
javascript const dog = new Object(); dog.name = "Рекс"; dog.age = 5; -
Фабричные функции или конструкторы (о них позже).
🔥 Важно: Литеральный синтаксис (
{}) — стандарт в современном JS.
Доступ к свойствам 🔍
Есть два способа получить значение свойства:
-
Через точку (если ключ — валидный идентификатор):
javascript console.log(user.name); // "Данила" -
Через квадратные скобки (если ключ — строка или содержит спецсимволы):
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не удаляет свойства из прототипов, только из самого объекта!
Проверка существования свойства 🔎
Используйте:
-
Оператор
in(проверяет даже унаследованные свойства):
javascript console.log("name" in user); // true -
Метод
hasOwnProperty()(только собственные свойства):
javascript console.log(user.hasOwnProperty("age")); // true
Итог 🎯
- Объекты хранят данные в виде
ключ: значение. - Создаются через
{},new Object()или конструкторы. - Доступ к свойствам — через точку или квадратные скобки.
- Методы — это функции внутри объекта.
- Удалять свойства можно через
delete. - Проверять наличие свойств —
inилиhasOwnProperty().
Теперь вы готовы создавать и управлять объектами! 🚀
🔥 Для углублённого изучения: Если хотите разобраться в
this, прототипах и классах — посмотрите курс Данилы Бежина.