В JavaScript почти «все» является объектом.
Почти все объекты в JavaScript являются экземплярами Object; типичный объект наследует свойства (включая методы) от Object.prototype, хотя эти свойства могут быть затенены

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

Все значения JavaScript, кроме примитивов, являются объектами.

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

JavaScript определяет 5 типов примитивных типов данных:

строка
число
логическое значение
null
не определено

Логические значения могут быть объектами (если определены с помощью нового ключевого слова)
Числа могут быть объектами (если определены с помощью нового ключевого слова)
Строки могут быть объектами (если определены с помощью нового ключевого слова)
Даты всегда объекты
Математические операции всегда являются объектами
Регулярные выражения всегда являются объектами
Массивы всегда являются объектами
Функции всегда являются объектами
Объекты всегда являются объектами

Переменные JavaScript могут содержать одиночные значения

Примитивные значения неизменяемы (они жестко запрограммированы и поэтому не могут быть изменены).

если x = 3,14, вы можете изменить значение x. Но вы не можете изменить значение 3.14.

Объекты тоже переменные. Но объекты могут содержать множество значений.

В объектах значения записываются как имя: пары значений

Пример

var person = {имя: «Джон», фамилия: «Доу», возраст: 50, цвет глаз: «синий»};

Объект JavaScript представляет собой набор именованных значений, а именованные значения в объектах JavaScript называются свойствами.

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

С помощью JavaScript вы можете определять и создавать свои собственные объекты.

Существуют различные способы создания новых объектов:

Определите и создайте один объект, используя литерал объекта.

Пример: var person = {имя: «Джон», фамилия: «Доу», возраст: 50, цвет глаз: «синий»};

Определите и создайте один объект с ключевым словом new.

Пример:var person = new Object();
person.firstName = «Джон»;
person.lastName = «Doe»;
person.age = 50;
person. цвет глаз = «синий»;

Определите конструктор объекта, а затем создайте объекты сконструированного типа.

function obj(value1, value2, …) {
this.key1 = value1;
this.key2 = value2;

}

В ECMAScript 5 объект также можно создать с помощью функции Object.create().

Object.create() можно использовать для одиночного наследования, а Object.assign() для множественного наследования.
Object.fromEntries() — метод преобразует список пар ключ-значение в объект.

Объекты JavaScript изменяемы

Объекты изменяемы: к ним обращаются по ссылке, а не по значению.

Если человек является объектом, следующий оператор не создаст копию человека:

Пример: var x = person;
Это не создаст копию человека.
Объект x не является копией человека. Это человек. И x, и person являются одним и тем же объектом.

Любые изменения в x также изменят человека, потому что x и человек — это один и тот же объект.