Значения простых типов в JavaScript не имеют свойств и методов. Всего существует шесть элементарных типов данных, три из которых (строки, числа и булевы значения) могут быть временно преобразованы объектами-обертками, подобно конструкторам new String() , new Number() или new Boolen() и действовать в роли объектов, обладая рядом свойств и методов.

При этом нет никакой необходимости использовать конструкторы вместо литералов, кроме крайних редких случаев.

Для того, чтобы выполнить преобразование типа явно также можно прибегнуть к использованию функций String() ,Number(), Boolen() и Object() без использования оператора new.

Следует отметить, что к значениям простых типов данных невозможно добавить собственные свойства, а в случаях с null и undefined и вовсе будет вызвана ошибка. Сравните два примера:

Значения простых типов отличаются от объектов тем, что их свойства доступны только для чтения и что для них невозможно добавить новые свойства или изменить существующие.