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

Стрелочка влевоМетод .toString() в JavaScriptIntl.DateTimeFormat в JavaScriptСтрелочка вправо

Все гайды по Javascript

Как работает метод trim() - JavaScriptКак работает метод toUpperCase() - JavaScriptКак работает метод toLowerCase() - JavaScriptКак работает метод substring() - JavaScriptКак работает метод startsWith() - JavaScriptКак работает метод split() - JavaScriptКак работает метод slice() - JavaScriptКак работает метод search() - JavaScriptКак работает метод replaceAll() - JavaScriptКак работает метод replace() - JavaScriptКак работает метод repeat() - JavaScriptКак работает метод padStart() - JavaScriptКак работает метод padEnd() - JavaScriptКак работает метод matchAll() - JavaScriptКак работает метод match() - JavaScriptКак работает метод localeCompare() - JavaScriptКак работает свойство length - JavaScriptКак работает метод lastIndexOf() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод fromCodePoint() - JavaScriptКак работает метод fromCharCode() - JavaScriptКак работает метод endsWith() - JavaScriptКак работает метод concat() - JavaScriptКак работает метод codePointAt() - JavaScriptКак работает метод charCodeAt() - JavaScriptКак работает метод charAt() - JavaScript
Итератор в JavaScript
try...catch в JavaScriptError в JavaScript
Событие wheel в JavaScriptСобытие unload в JavaScriptСобытие touch в JavaScriptСобытие submit в JavaScriptСобытие scroll в JavaScriptСобытие reset в JavaScriptМетод .preventDefault() в JavaScriptСобытие mouseover в JavaScriptСобытие mouseout в JavaScriptСобытие load в JavaScriptСобытие keyup в JavaScriptСобытие keydown в JavaScriptСобытие invalid в JavaScriptСобытие input в JavaScriptСобытийная модель Event в JavaScriptОбъект события Event в JavaScriptСобытие DOMContentLoaded в JavaScriptСобытие dblclick в JavaScriptСобытие click в JavaScriptСобытие change в JavaScriptСобытие beforeunload в JavaScript
Как работает метод some() - JavaScriptКак работает метод reverse() - JavaScriptКак работает метод reduce() - JavaScriptКак работает метод map() - JavaScriptКак работает метод isArray() - JavaScriptКак работает метод indexOf() - JavaScriptКак работает метод includes() - JavaScriptКак работает метод from() - JavaScriptКак работает метод forEach() - JavaScriptКак работает метод flatMap() - JavaScriptКак работает метод flat() - JavaScriptКак работает метод findIndex() - JavaScriptКак работает метод find() - JavaScriptКак работает метод filter() - JavaScriptКак работает метод every() - JavaScriptМассивы в JavaScript
Открыть базу знаний