Open In App

Are JavaScript Strings mutable ?

Last Updated : 17 Jul, 2023
Like Article

JavaScript Strings are immutable since once a string is created it will receive a reference in the memory and its value will never change. This means that any operation on a string may give the new string without mutating the main string.

There are some misconceptions that the string can be converted to uppercase or lowercase but in reality, if we apply these methods to the string the original string will not be changed instead, a new string with applied changes will be returned which can be stored inside a new variable. So in general if we use any String method on a String a new String object will be returned.

Let us see a few examples which prove the immutability of a string

 Example 1: This example uses methods to try to manipulate a string. In this example “Hello” of “Hello GFG” should be replaced by the “Bye” keyword, if strings are mutable but it’s not.


let str = "Hello GFG";
str.replace("Hello", "Bye");

Output: Even though replace method was applied to the string it still did not change.

Hello GFG

Example 2: This example tries to manipulate a string using an index. Hello GFG should be Gello GFG if strings are mutable but it’s not.


let str = "Hello GFG";
str[0] = "G";

Output: The manipulation fails in this case also and the string remains the same.

Hello GFG

Example 3: This example uses string manipulation to store the manipulated content of the string. Same here new lowercase conversion string will be stored in a new variable.


let str1 = "Hello GFG";
let str2 = str1.toLowerCase();

Output: It is clear from this example that string manipulation will result in creating a new string object which can be stored in another variable.

Hello GFG
hello gfg

We have a complete list of Javascript String methods & properties, to check those please go through this Javascript String Reference article.

Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads