object в JavaScript: работа с объектами в JS

Объект в 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 — это фундаментальная структура данных, которая лежит в основе работы с данными в языке. Они позволяют гибко группировать информацию, строить сложные структуры и создавать мощные модели данных в приложениях.