Объект в JavaScript — это структура данных, которая хранит набор пар ключ-значение. Каждый ключ (или свойство) представляет собой строку, а значение может быть любым типом данных: число, строка, массив, другая функция или даже другой объект.
Создание объекта
Литерал объекта
Самый распространенный способ создания объекта — через фигурные скобки:
const user = {
name: 'Alice',
age: 30,
isAdmin: true
};
Конструктор Object
Объект можно создать с помощью встроенного конструктора Object
:
const user = new Object();
user.name = 'Alice';
user.age = 30;
Доступ к свойствам объекта
Через точку
console.log(user.name);
Через квадратные скобки
console.log(user['age']);
Этот способ полезен, если имя свойства хранится в переменной:
const key = 'isAdmin';
console.log(user[key]);
Добавление и изменение свойств
Свойства можно добавлять и менять в любое время:
user.city = 'London';
user.age = 31;
Удаление свойств
delete user.isAdmin;
Перебор свойств объекта
for…in
for (const key in user) {
console.log(`${key}: ${user[key]}`);
}
Проверка наличия свойства
оператор in
console.log('name' in user);
console.log('salary' in user);
через сравнение с undefined
console.log(user.city !== undefined);
Объекты и методы
Объект может содержать функции — такие свойства называются методами:
const user = {
name: 'Alice',
greet() {
console.log(`Hello, my name is ${this.name}`);
}
};
user.greet(); // Hello, my name is Alice
Объединение объектов
Object.assign
const user = { name: 'Alice' };
const info = { age: 30, city: 'London' };
const fullUser = Object.assign({}, user, info);
Оператор spread
const fullUser = { ...user, ...info };
Получение ключей, значений и записей
Object.keys
console.log(Object.keys(user)); // ['name']
Object.values
console.log(Object.values(user)); // ['Alice']
Object.entries
console.log(Object.entries(user)); // [['name', 'Alice']]
Глубокие объекты и вложенность
Объекты могут содержать другие объекты:
const user = {
name: 'Alice',
address: {
city: 'London',
zip: 'E1 6AN'
}
};
console.log(user.address.city); // London
Объекты в JavaScript — это фундаментальная структура данных, которая лежит в основе работы с данными в языке. Они позволяют гибко группировать информацию, строить сложные структуры и создавать мощные модели данных в приложениях.