логотип PurpleSchool
Иконка входа
Вход
логотип PurpleSchool

Объекты в JavaScript

Автор

Дмитрий Нечаев

В JavaScript, объекты — это неотъемлемая часть языка. Объекты являются не примитивными типами данных и представляют собой набор свойств, где каждое свойство — это ассоциация ключа с значением. Ключи обычно являются строками или символами, а значениями могут быть как примитивы, так и другие объекты. Они используются для хранения различных структурированных данных и представляют собой основу для более сложных структур данных и объектно-ориентированного программирования.

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

Создать объект в JavaScript можно несколькими способами:

  1. Литерал объекта: jsx let person = { name: "Иван", age: 30 };
  2. Конструктор Object: jsx let person = new Object(); person.name = "Иван"; person.age = 30;
  3. Функция-конструктор: jsx function Person(name, age) { this.name = name; this.age = age; } let person = new Person("Иван", 30);
  4. Object.create(): jsx let person = Object.create(Object.prototype, { name: { value: 'Иван', writable: true, configurable: true, enumerable: true }, age: { value: 30, writable: true, configurable: true, enumerable: true } });

Работа со свойствами объекта

  • Добавление и изменение свойств:
    jsx let person = {}; person.name = "Мария"; // Добавление свойства person['age'] = 24; // Добавление свойства через квадратные скобки person.name = "Анна"; // Изменение свойства
  • Удаление свойства:
    jsx delete person.age;
  • Проверка наличия свойства:
    jsx 'name' in person; // true
  • Перебор свойств:
    jsx for (let key in person) { console.log(key + ': ' + person[key]); }

Методы объекта

Объекты могут содержать функции, которые называются методами объекта. Это позволяет объектам "действовать" и выполнять определенные задачи.

let person = {
  name: "Сергей",
  greet: function() {
    console.log("Привет, меня зовут " + this.name);
  }
};

person.greet(); // Вывод: Привет, меня зовут Сергей

Прототипы и наследование

Каждый объект в JavaScript имеет прототип, от которого он наследует свойства и методы. Прототип объекта можно установить или изменить с помощью Object.create() или изменяя свойство __proto__.

let animal = {
  eats: true
};

let rabbit = Object.create(animal);
console.log(rabbit.eats); // true
rabbit.__proto__ = { jumps: true };
console.log(rabbit.jumps); // true

Стандартные методы объекта

JavaScript предоставляет несколько встроенных методов для работы с объектами, таких как:

  • Object.keys(obj): возвращает массив ключей.
  • Object.values(obj): возвращает массив значений.
  • Object.entries(obj): возвращает массив пар [ключ, значение].
let user = { name: "Елена", age: 52 };
console.log(Object.keys(user)); // ["name", "age"]
console.log(Object.values(user)); // ["Елена", 52]
console.log(Object.entries(user)); // [["name", "Елена"], ["age", 52]]

Заключение

Объекты в JavaScript — это мощный инструмент для организации данных и функций. Они играют центральную роль в объектно-ориентированном программировании в JavaScript, позволяя создавать сложные взаимодействующие системы. Используя различные способы создания, наследования и управления объектами, можно эффективно разрабатывать и поддерживать большие и модульные приложения.

Карта развития разработчика

Получите полную карту развития разработчика по всем направлениям: frontend, backend, devops, mobile