Most of the time, a primitive value is represented directly at the lowest level of the language implementation.
All primitives are immutable (cannot be changed).
undefined, all primitive values have object equivalents that wrap around the primitive values:
Stringfor the string primitive.
Numberfor the number primitive.
Booleanfor the Boolean primitive.
Symbolfor the Symbol primitive.
valueOf() method returns the primitive value.