String

The String() constructor creates string objects. Primitive strings are turned into objects behind the scenes if you call a method on them as if they were objects. Omitting new gives you primitive strings.

Creating a string object and a string primitive:

> var s_obj = new String('potatoes'); 
> var s_prim = 'potatoes';
> typeof s_obj;
"object"
> typeof s_prim;
"string"

The object and the primitive are not equal when compared by type with ===, but they are when compared with == which does type coercion:

> s_obj === s_prim;
false
> s_obj == s_prim;
true

length is a property of the string objects:

> s_obj.length;
8

If you access length on a primitive string, the primitive is converted to an object behind the scenes and the operation is successful: ...

Get JavaScript : Object-Oriented Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.