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:
> s_prim.length;
8
String literals work fine too:
> "giraffe".length;
7
Members of the String constructor
|
Property/method |
Description |
|---|---|
|
|