
Javascript без объектов — это как боевик без трюков, он может существовать, но совершенно бессмысленен. Объекты — это как душа Javascript. По мере роста сложности нам нужна структура данных, такая как объекты (помните, массивы тоже имеют тип объектов, на самом деле почти все в javascript является объектом).
Итак, здесь мы рассмотрим различные способы манипулирования объектами в Javascript, но, как мы всегда делаем, мы разделим их на категории для лучшего понимания.
Как мы знаем, данные в объектах хранятся в виде свойств в парах key: Value, доступ к которым можно получить с помощью ссылок на ключи с именем объекта. Объекты могут быть вложены до нескольких уровней, что позволяет хранить сложные данные.
Вот некоторые из аспектов объектов, которые мы здесь рассмотрим:
Создание объектов
Чтение свойств в объекте
Копирование объектов
Удаление свойств
Проверка наличия свойств
Сравнение объектов
Наложение ограничений на объект
Преобразование данных в Object (в массивы и из них)
Создание объекта
Объект.создать():
Хотя существуют различные способы создания объекта (как показано ниже), мы также можем использовать Object.create() для того же самого.

Чтение свойств в объекте
Доступ к данным внутри объекта можно получить различными способами, в том числе через запись через точку, скобки и через ссылку с переменной.

for..в цикле:
Если мы хотим получить доступ ко всем свойствам объекта, мы можем использовать цикл for…in.

Копирование объектов
Объект.назначить():
Он копирует все свойства одного объекта в другой. Он создает «мелкую копию», так как оба объекта указывают на одну и ту же память, поэтому изменения в одном отражаются в другом.

Глубокое копирование с использованием JSON:
Если мы хотим скопировать объекты и сохранить их полное различие, мы можем использовать методы JSON следующим образом, выполняя «глубокое копирование».

… Оператор спреда:
Один из самых привлекательных способов копирования свойств объекта, он также выполняет глубокое копирование. Кроме того, это также полезно для обновления частичных значений свойств в объекте перед копированием.

Удаление свойств
Удалить:
полностью удаляет свойство, но занимаемая им память не освобождается от объекта.

Проверка наличия свойств
.hasOwnProperty():
Он проверяет, содержит ли объект свойство, указанное в аргументе этого метода. Возвращает true, если он присутствует.

в операторе:
Он также выполняет ту же функцию, что и выше, и возвращает true, если свойство присутствует.

Сравнение объектов
Объект.is():
Может использоваться для сравнения, одинаковы ли 2 объекта или нет (неглубокие копии).

Наложение ограничений на объект
Объект.defineProperty():
Этот метод можно использовать для определения нового свойства или для изменения признаков (дескриптора) существующего свойства. Здесь дескрипторы могут быть значениями, доступными для записи, перечисляемыми, настраиваемыми и т. д.

Объект.заморозить():
Этот метод буквально замораживает все свойства объекта, запрещая любые добавления/удаления/изменения. Object.isFrozen() используется для проверки того, заморожен ли объект или нет.

Объект.печать():
Этот метод предотвращает любое добавление/удаление свойств объекта, но позволяет редактировать существующие. Object.isSealed() используется для проверки того, запечатан ли объект.

Объект.preventExtensions():
Этот метод предотвращает любое добавление свойств к объекту, но позволяет удалять, а также редактировать существующие. Object.isExtensible() используется для проверки того, является ли объект расширяемым или нет.

Преобразование данных в объект
Преобразование в массив
Объект.Записи():
Преобразует пары ключ:значение в массивы и делает их частью одного большого массива.

Объект.значения():
Дает массив, содержащий все значения в объекте.

Объект.ключи():
Дает массив, содержащий все ключи в объекте. (при условии, что свойство перечислимо)

Object.getOwnPropertyNames():
Дает массив, содержащий все имена ключей/свойств в объекте, но, в отличие от предыдущего метода, он также включает те, для которых перечисляемый параметр имеет значение false.

Преобразование из массива
Объект.fromEntries():
Если у нас есть данные в массивах, которые попарно эквивалентны парам ключ:значение объекта, мы можем преобразовать их в объект с помощью этого метода.

Теперь вы должны чувствовать себя уверенно всякий раз, когда вы снова сталкиваетесь с объектами (конечно, в течение короткого времени), поскольку в вашем арсенале есть различные инструменты, которые вы можете использовать для манипулирования ими. Если вы знаете, как обращаться с объектами, вы уже выиграли полбитвы Javascript.
Обратитесь к следующему репозиторию Github за всем приведенным выше кодом.
https://github.com/Gp-singh-git/object-manipulation-Javascript-tutorial
Удачного кодирования!