Объект — это набор свойств и их значений в памяти, на которые можно сослаться с помощью
идентификатора.
Все объекты в JavaScript являются потомками Object; все объекты наследуют методы и свойства из
прототипа объекта Object.prototype, хотя они и могут быть переопределены.
1. Когда мы пытаемся получить доступ к свойству строки str, JavaScript приводит значение строки к
объекту с помощью функции-конструктора new String(str).
2. Созданный объект называется объектом-оберткой и наследует все методы глобального объекта
String (см. console.dir(String)) и используется для разрешения ссылки на свойство глобального
объекта String.
3. После разрешения вызванного свойства объект-обертка отбрасывается.
Cуществует возможность (но в этом почти никогда нет необходимости или смысла) явно создавать
объекты-обертки вызовом конструктора String(), Number() или Boolean():
var s = "test", n = 1, b = true; // Строка, число и логическое значение
var S = new String(s); // Объект String
var N = new Number(n); // Объект Number
var В = new Boolean(b); // Объект Boolean
При необходимости интерпретатор JavaScript обычно автоматически образует объекты-обертки.
Помните, что вызов конструкторов Number , String и Boolean без оператора new пытается преобразовать
значение в его примитивное представление.
ВАЖНО!
1. Нестрогое равенство == будет обрабатывать примитив и его объект-обертку как равные.
2. Строгое равенство === будет рассматривать примитив и его объект-обертку как разные объекты.
Преобразование типов в JS
Дополнительные материалы:
1. Объекты-обёртки в JavaScript
https://flagman.top/