DEV Community

Cover image for string vs String
The Teabag Coder
The Teabag Coder

Posted on

string vs String

string

Lowercase string is a primitive data type in JavaScript.

Strings created with this type are not objects, but JavaScript automatically wraps them with a String object (this is called "boxing").

let imAString = "hello";
console.log(typeof imAString); // "string"
Enter fullscreen mode Exit fullscreen mode

String

Uppercase String is a constructor function that creates String objects, an object wrapper around a string primitive.

When you use the String constructor with new, you get a String object rather than a primitive string

String objects are not necessary unless you need to use them as objects explicitly.

let imAStringObject = new String("hello");
console.log(typeof imAStringObject); // "object"
Enter fullscreen mode Exit fullscreen mode

Differences

string String
type primitive Object
Memory lightweight and stored by value heavyweight, stored as object
methods get converted to String object temporarily has access to String methods like .charAt()
Comparing Values by values by reference

When to use string/String?

Use string (primitive) in almost all cases. It is more efficient, simpler, and JavaScript automatically provides methods when needed.

Use String (object) only when you specifically need an object with additional properties or when you want to use instanceof checks, though this is rare in practice.


That's it! Thank you for reading this far. Till next time!

Top comments (0)